一次成功加密和解密后,Nodejs加密解密失败

时间:2013-12-24 15:56:44

标签: node.js encryption cryptography

我在nodejs上遇到了一个奇怪的场景,当加载节点服务器时,crypto只对文本加密和解密一次。第二次尝试后,它加密文本,但第二次尝试无法解密文本。

这是我的代码:

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服务器完美地加载,加密和解密数据,第二次在其他地方使用此函数时,它使用不同的文本或密钥,无法解密文本。我很困惑。

1 个答案:

答案 0 :(得分:2)

我添加后解决了这个问题:

删除require.cache [require.resolve('./ templates / prd')];

所需对象保留在缓存中并继续反复加密。一旦我在每次加载模板时清除缓存,它就会开始正确加密。