node.js - 一次成功加密和解密后,Nodejs Crypto 解密失败

标签 node.js encryption cryptography

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

这是我的代码:

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 服务器完美地加载、加密和解密数据,此功能就可以正常工作,第二次在其他地方使用此功能并使用不同的文本或 key 时,它无法解密文本。我很困惑。

最佳答案

添加后问题解决了:

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

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

关于node.js - 一次成功加密和解密后,Nodejs Crypto 解密失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20763555/

相关文章:

javascript - 我在使用 Node js 在 debian 中运行 js 脚本时遇到问题

json - 如何使用 express 从 403 发回 json

java - 如何更改 MapReduce Shuffle 的加密算法

java - 如何RSA验证在php中生成的java中的签名

javascript - Node.js:在客户端连接上创建增量监视文件监听器并分别删除它们

javascript - 如何自动聚焦一个领域?

java - Java 中使用 CFB NoPadding 模式进行 C# AES 加密

c# - System.Data.SQLite - 无法访问加密数据库

javascript - 需要帮助来解释使用 oaep 哈希的 aes-256-cbc 加密

java - 如何检查 keystore 中是否存在证书