在Javascript中加密nodeJS和Decrypt

时间:2017-03-21 12:46:55

标签: javascript node.js encryption cryptography rsa

我正在使用node-RSA加密节点JS中的文本并将其传递给JSEncrypt库正在使用的客户端(javascript),但是解密的消息始终为null。公钥和私钥正在nodeJS服务器上开发,使用公钥加密,并在私有密钥的javascript端解密。

这种情况没有发生!!!!

任何人都可以告诉我应该在javascript中使用哪个库来解密来自nodejs的消息(使用Node-RSA)。或任何其他IDEA !!

我们已经在使用HTTPS,但是我们的用例是这样的,我们之间有一个代理..它和它不信任的代理,我们被迫使用它..所以我们想使用加密解密..虽然我们在我们的客户端有信任的人,所以我们在客户端解密。

2 个答案:

答案 0 :(得分:1)

我使用CryptoBrowserify在javascript(客户端)加密

import CryptoBrowserify from 'crypto-browserify';
 public encryptStringWithRsaPublicKey(data: string, publicKey: string): string {
       var encrypted = CryptoBrowserify.publicEncrypt( publicKey,new Buffer(data));
       return encrypted.toString('Base64');
   }

加密到Nodejs加密

decrypt = function(privateKey, data) {
      var crypto = require('crypto');
        var buffer = new Buffer(data, 'base64');
        var decrypted = crypto.privateDecrypt(privateKey, buffer);
        return decrypted.toString('utf8')

  };

答案 1 :(得分:-1)

Nodejs有内置的cryto库,经过优化和测试,建议使用:https://nodejs.org/api/crypto.html