Tag: encryption

2节点服务器上的证书

我有一个运行的NodeJS服务器,它通过HTTP成功地被2个域所访问。 现在这两个站点有不同的SSL证书。 我现在想要的是允许这两个站点通过HTTPS连接到节点服务器。 我已经成功添加了一个证书…我应该如何处理添加另一个,换句话说,添加2个证书到同一个节点服务器? 这是我迄今为止的代码: var options = { key: fs.readFileSync("keys/cer1.key"), cert: fs.readFileSync("certs/cer2.crt"), ca: fs.readFileSync("ca/ca.crt") }; https.createServer(options, function (req, res) { … }).listen(8000); 谢谢!

Bash脚本和Javascript的标准哈希algorithm?

我有一个目录在我的Mac中有以下名称的文件 – Directory images – 1.jpg 2.jpg 3.jpg 4.jpg 我想写一个bash脚本来重命名这个文件夹中的所有文件,通过使用一些标准的散列algorithm,以便目录看起来像这样 – 让我们假设散列键是common_key =“mykey123” Directory images – U2FsdGVk.jpg X1O9Z6e.jpg ECdjybF.jpg U2FsdGVajpg 我怎样才能做到这一点? Furthur,我正在写Nodejs(基本上是JavaScript)的一些代码,我希望从这四个中挑选一个随机图像并显示它,所以我正在使用 – var random_image_number = Math.floor((Math.random()*4)+1); // Picking a random number out of 4 假设random_image是3.现在我需要显示图像编号3.如果我没有哈希的图像名称,我通常会这样做 – <img src="/images/" + random_image_number + ".jpg" /> 但是现在我需要在生成的随机数上再次使用标准的encryptionalgorithm,然后才能显示图像。 (我一直强调“标准”,因为相同的哈希algorithm必须在JS端以及在bash脚本中工作,并产生相同的结果) 所以我需要这样的事情 var random_image_number = Math.floor((Math.random()*4)+1); // Picking a random […]

2路encryptionalgorithm,对Ruby和Node.JS只encryption到字母和数字

我有一个node.js服务器,将encryption一个string,并将其存储到数据库中。 我还有一个RoR(Ruby on Rails)服务器,它将从数据库中检索encryption的string并对其进行解密。 我唯一的标准是encryption只能将stringencryption成一串字母和数字(没有特殊字符) 有什么build议么

在java中encryption,在node.js中解密

我需要在Java中进行encryption,并使用node.js进行解密。 解密结果已损坏。 这里是java代码: public String encrypt(SecretKey key, String message){ Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] stringBytes = message.getBytes("UTF8"); byte[] raw = cipher.doFinal(stringBytes); // converts to base64 for easier display. BASE64Encoder encoder = new BASE64Encoder(); String base64 = encoder.encode(raw); return base64; } 这里是node.js代码: AEse3SCrypt.decrypt = function(cryptkey, encryptdata) { encryptdata = new Buffer(encryptdata, 'base64').toString('binary'); var decipher […]

mongoose如何处理密码编码很好?

我想重构我的用户架构。 这个决定的主要原因是我不想担心密码和盐的产生。 所以我想将编码逻辑从pre save处理程序移到setter。 不幸的是我没有从setter访问对象的其他属性(如盐)。 所以默认的盐不起作用,用盐编码密码也不行。 我目前的实施是: var userSchema = new mongoose.Schema({ username: { type: String, index: { unique: true, sparse: true }, required: true, lowercase: true, trim: true }, email: { type: String, index: { unique: true, sparse: true }, required: true, lowercase: true, trim: true }, salt: { type: String, select: false }, […]

当PassPhrase相同时,需要SJCL做相同的encryption的AES 256输出

我正在使用Node.js上传在客户端encryption的文件,并使用SJCL(Stanford Javascript Crypto Library)来使用Javascriptencryption文件。 但是我注意到,即使使用相同的PassPhrase,输出或encryption的结果也是不同的。 经过几次研究之后,我发现这是因为盐每次都是随机的,我需要做一个“nosalt”(对不起,我对这里的所有东西都是新的,cryptographie,Node.js) 每次密码相同时,如何更改我的代码(或SJCL代码)以生成确切的encryption输出。 我的应用程序基于“Cryptloader”项目,你可以在这里find它: https : //github.com/Kryil/Cryptloader encryption: var part = file_queue[data["id"]].slice(start, end) var reader = new FileReader() reader.onload = function(e) { var passwd = document.getElementById("password").value console.log("Uploading arraybuffer of size " + e.target.result.byteLength) var i32a = new Int32Array(e.target.result) var out = i32a.toJSONArray() console.log("crypting: " + out) var crypted = sjcl.encrypt(passwd, out) […]

在nodejs中散列string的Websafe编码

我在nodejs中创build了一个re-director。 我有一些像userid // superid这样的值 这些我想散列,以防止用户检索URL和伪造别人的url,也base64编码,以尽量减less创build的url的长度。 http://myurl.com/~hashedtoken其中未散列的hashtoken可能是这样的55q322q23 55 = userid 我想这样使用encryption库: crypto.createHash('md5').update("55q322q23").digest("base64"); 它返回:u / mxNJQaSs2HYJ5wirEZOQ ==这里的问题是,我有/哪些不被认为是websafe,所以我想从base64的字母列表中去除不安全的信件,不知何故。 任何关于这个问题的想法,或者更好的解决手头问题的方法?

Node.js内置encryption:RSA解密

我正在使用node.js 0.10.12。 我生成了2048位的RSA密钥对,我在本地存储为.pem文件。 使用节点附带的内置“encryption”库,我试图解密用上面提到的公共RSA密钥encryption的数据块。 我已经得到了这么多: var privateKey = fs.readFileSync('private.pem', { encoding: 'utf8' }); var cryptOpt = { key: /* PEM encoded private key */ privKey }; var cred = crypto.createCredentials( cryptOpt ); var rsa = crypto.createDecipheriv( 'rsa', cred.?key-in-binary-format?, cred.?initialization vector? ); 我不知道我在这里正确的道路上。 •我不知道密钥在“cred”中以二进制forms存储在哪里。 •我不知道要在初始化向量参数中放置什么。 数据将使用iOS上的标准库进行encryption,据我所知,在使用RSA进行encryption时,不允许用户指定初始化向量。 我一直无法从node.jsencryption文档中提取许多知识或理解: http : //nodejs.org/api/crypto.html

在一次成功的encryption和解密之后,Nodejs Crypto解密失败

我在nodejs上有一个奇怪的场景,其中crypto在我加载节点服务器时只对文本进行encryption和解密。 第二次尝试后,它encryption文本罚款,但无法解密的文字,第二次尝试。 这是我的代码: function Encrypt(mytext) { var cipher = crypto.createCipher('aes-256-cbc','fa97be5d286a67114cf74acf46d179725581d562'); var crypted = cipher.update(mytext,'utf8','hex'); crypted += cipher.final('hex'); } function Decipher(mytext) { var decipher = crypto.createDecipher('aes-256- cbc','fa97be5d286a67114cf74acf46d179725581d562'); var dec = decipher.update(mytext,'hex','utf8'); dec += decipher.final('utf8'); } 在nodejs服务器加载的时候,这个工作正常,完全encryption和解密数据,第二次使用这个函数在其他地方使用不同的文本或者密钥时,它不能解密文本。 即时puzzeled。

在服务器端的Azure移动服务令牌上解密或validation签名

按照指南创buildAzure移动服务的自定义身份提供商后,我可以轻松生成相应的令牌。 代码非常简单,如下所示: var userAuth = { user: { userId : userId }, token: zumoJwt(expiry, aud, userId, masterKey) } response.send(200, userAuth); zumoJwt的参数和代码的定义位于链接处。 Azure会自动解码令牌,并将请求对象上的用户填充到我想要模拟的对象中。 基本上我想通过节点(而不是.net)解密服务器端的令牌。