【发布时间】:2023-03-05 07:55:01
【问题描述】:
为什么下面的代码会在加密中抛出 DecipherFinal 错误 -
var crypto = require('crypto');
c=new Date;
x= (c.getTime()+"."+c.getMilliseconds()).toString()+".uIn";
key = 'sevsolut'
, plaintext = x
, cipher = crypto.createCipher('aes-256-cbc', key)
, decipher = crypto.createDecipher('aes-256-cbc', key);
cipher.update(plaintext, 'utf8', 'base64');
var encryptedPassword = cipher.final('base64')
decipher.update(encryptedPassword, 'base64', 'utf8');
var decryptedPassword = decipher.final('utf8');
console.log('encrypted :', encryptedPassword);
console.log('decrypted :', decryptedPassword);
【问题讨论】:
-
c=new Date应该是c = new Date() -
为什么要加密密码而不是散列密码?
-
@pfried 括号在 JS 中实例化对象时是可选的,只要您不需要传递参数即可。
-
@robertklep 每天都有新东西 :D 但我认为为了更好地阅读它会有所帮助
-
@Mchl 它的原型代码..它不是用于加密密码...
标签: javascript node.js cryptography node-modules node-crypto