Tag: encryption

用户与节点应用程序之间的消息传递

我想在我的iOS和Android应用程序中实现应用程序内消息,而我不确定应该如何创build后端function。 从我的后端运行之前,Node.js和用户等存储在MongoDB。 我想我很容易就可以实现消息传递,只需将消息保存在数据库中,然后使用新消息向接收者发送一个消息,并在应用程序中显示消息,但我不希望消息在服务器上可读。 因此有必要在数据库中对它们进行encryption,并在客户机上进行解密。 有没有人有任何build议可以实现encryption或节点框架使用? 我看过socket.io,但这似乎是创build实时聊天应用程序,这不完全是我在找什么。 我也看过RabbitMQ,但是我不太明白它是否适合我的要求。 提前谢谢了!

如何将文本转换为Node.js上的Base58?

我想将“Hello World”这样的消息转换为base58,然后使用node.js将其解码。 Base-58模块有下面的解释,但我不能完全理解如何转换我的消息。 Base58.encode(a Buffer or Uint8Array) returns a String Base58.decode(a String) returns a Buffer 我想我需要首先将消息转换为其他内容,然后转换为base58。然后解码base58消息,再次转换为其他内容,并从那里转换为文本,对不对?

使用RSA enc / dec节点伪造程序包错误

我在我的meteor.jsnetworking应用程序上使用node-forge npm。 我想根据这个例子对一些纯文本进行RSAencryption: https : //github.com/digitalbazaar/forge#rsa 当我想要解密密文时,问题就到了,我想要找回明文,说明encryption块是无效的。 下面的例子,我必须encryptionstring的字节,所有这一切,但我不明白为什么它解密失败? 任何猜测? rsaEncrypt:function(pubPem,privPem,plainText){ console.log(plainText); var str = plainText; var bytes = []; for (var i = 0; i < str.length; ++i) { bytes.push(str.charCodeAt(i)); } console.log("BAJTOVI:"); console.log(bytes); var publicKey = pki.publicKeyFromPem(pubPem); console.log(publicKey); var encrypted = publicKey.encrypt(bytes); console.log("Encryption: "); console.log(encrypted); var privateKey = pki.privateKeyFromPem(privPem); var decrypted = privateKey.decrypt(encrypted); console.log("Decryption: "); […]

在Nodejs和Ruby中encryption

我想encryption一个string并传递给Rails应用程序,所以我在Nodejs和Ruby中都find了encryption库。 在Nodejs中: var crypto = require('crypto'), algorithm = 'aes-256-ctr', password = 'd6F3Efeqd6F3Efeqd6F3Efeqd6F3Efeq'; function encrypt(text){ var cipher = crypto.createCipher(algorithm,password) var crypted = cipher.update(text,'ascii',"base64") crypted += cipher.final("base64"); return crypted; } 结果是: encrypt("1") //-输出 2g== 在Ruby中 def encrypt(des_text) des = OpenSSL::Cipher::Cipher.new('aes-256-ctr') des.encrypt des.key = 'd6F3Efeqd6F3Efeqd6F3Efeqd6F3Efeq' result = des.update(des_text) result << des.final return Base64.encode64 result end 结果是: encrypt("1") # […]

如何从hex编码的模数中创buildRSA密钥并在node.js中encryption

我find了在node.js RSAencryption的方式,我想处理大数字,所以我使用这个: https : //github.com/eschnou/node-bumber 我要做的只是encryption,模数和指数。 我不必做解密。 无论如何,我有一个错误,但我不知道什么是错的。 谁能知道这是什么错误? 谢谢。 码 require("node-bignumber"); var nvalue="ad6eb61316ff805e9c94667ab04aa45aa3203eef71ba8c12afb353a5c7f11657e43f5ce4483d4e6eca46af6b3bde4981499014730d3b233420bf3ecd3287a2768da8bd401f0abd7a5a137d700f0c9d0574ef7ba91328e9a6b055820d03c98d56943139075d"; var evalue="010001"; var encpw=""; var rsa = new RSAKey; function encryptMessage() { var message = "All your bases are belong to us."; rsa.setPublic(evalue, nvalue); encpw.value = rsa.encrypt(message); console.log(encpw); } encryptMessage(); 错误 ReferenceError: RSAKey is not defined at Object.<anonymous> (c:\Users\win\Desktop\untitled\juntae.js:5:15) at Module._compile […]

unicode字符时,NodeJS中的encryption失败

我正在尝试使用NodeJS Crypto库validation数据完整性。 它需要计算一个JSONstring的Hmac。 经过一些testing后,我已经能够find问题:只要它包含一个Unicode字符就会发生。 例如: var hasher = crypto.createHmac("sha256", 'secret_key'); hasher.write('{"timezone":"(GMT-05:00) Eastern Time (US \u0026 Canada)"}'); hasher.end(); var calculatedHmac = new Buffer(hasher.read(), 'utf8').toString('base64'); console.log(calculatedHmac); 但是这会返回错误的hmac。 PHP中的相同代码与我从第三方服务收到的签名相匹配: $data = '{"timezone":"(GMT-05:00) Eastern Time (US \u0026 Canada)"}'; $calculated_hmac = base64_encode(hash_hmac('sha256', $data, 'secret_key', true)); var_dump($calculated_hmac); // Result is correct here 如果我删除了NodeJS负载中的“\ u0026”,那么我得到了和PHP一样的正确结果。 我在这里做错了什么? 谢谢!

节点密码和encryption-jsencryption和解密之间的兼容性

如何正确使用encryption模块(服务器端)和crypto-js(客户端,react-native)在node.js之间encryption/解密数据? 注意:我在一个react-native项目中使用cryptojs,因此我不能在客户端上使用encryption。 replaceencryption服务器端不是我的select。 服务器端代码: var Crypto = require("crypto"); var Cipher = { pass: "0123456789abcdef0123456789abcdef", iv: "0123456789abcdef", encript: function (msg) { try { var cipher = Crypto.createCipheriv("aes-256-cbc", this.pass, this.iv); var hash = cipher.update(msg, 'utf8', "hex"); var hex = hash + cipher.final("hex"); return hex; } catch (err) { console.error(err); return ""; } }, decript: function (hex){ try […]

使用phpseclib使用AES进行encryption,并使用CryptoJS进行解密

我想在CBC模式下使用phpseclib AESencryptionstring(库的默认值): $cipher = new Crypt_AES(); $cipher->setKey('abcdefghijklmnop'); $cipher->setIV(crypt_random_string($cipher->getBlockLength() >> 3)); $cipher->encrypt("hello world") 然后,我需要使用CryptoJS或类似的解密nodejs ..我已经尝试了不同的库,但没有运气到目前为止。 我想这个问题是有关的编码输出不同,从每个库。 有没有人有一个如何实现这个互操作性场景的工作示例? 其他库如Crypto可以使用。 一个示例Base64输出是MF9lCR4DaW1R0adIe03VEw== 所以这个想法是解密如下: var helloWorld = CryptoJS.AES.decrypt("MF9lCR4DaW1R0adIe03VEw==", key).toString();

使用vb.net AES / CBCencryptionstring,并需要使用JavaScript CryptoJS进行解密

我有一个vb.net Windows窗体应用程序,将stringencryption到文件。 我现在需要JavaScript来解密这个值。 我试图使用CryptoJS,但我正在努力与语法,以及如何获得在CryptoJS.PBKDF2(假设是正确的使用)使用正确的格式密码,盐和初始化向量。 调用方法 Dim encryptedComplianceValue = encrypt2(complianceValue, "Password", "Salt Value", "SHA1", 2, "@1B2c3D4e5F6g7H8", 256) encryption方法 Public Function encrypt2(ByVal plainText As String, ByVal passPhrase As String, ByVal saltValue As String, ByVal hashAlgorithm As String, ByVal passwordIterations As Integer, ByVal initVector As String, ByVal keySize As Integer) As String Dim initVectorBytes As Byte() initVectorBytes = […]

返回Node.js中的多个参数

假设我们在Node.js中有一个函数,那么返回这两个参数的正确方法是什么? 例如,我有一个函数返回一个encryption的消息,就像上面的代码,我想返回也Hmac散列它将被复制。 我可以从一个函数返回两个值吗? const crypto = require('crypto'); exports.AesEncryption = function(Plaintext, SecurePassword) { var cipher = crypto.createCipher('aes-128-ecb', SecurePassword); var encrypted = cipher.update(Plaintext, 'utf-8', 'base64'); encrypted += cipher.final('base64'); return encrypted; };