Javascript Node JS Crypto:解密时密码错误
我正在使用以下函数加密/解密字符串:Javascript Node JS Crypto:解密时密码错误,javascript,node.js,encryption,error-handling,Javascript,Node.js,Encryption,Error Handling,我正在使用以下函数加密/解密字符串: function encrypt(text, pswrd){ var cipher = crypto.createCipher(algorithm,pswrd), crypted = cipher.update(text,'utf8','hex'); crypted += cipher.final('hex'); return crypted; } function decrypt(text, pswrd){ var d
function encrypt(text, pswrd){
var cipher = crypto.createCipher(algorithm,pswrd),
crypted = cipher.update(text,'utf8','hex');
crypted += cipher.final('hex');
return crypted;
}
function decrypt(text, pswrd){
var decipher = crypto.createDecipher(algorithm,pswrd),
dec = decipher.update(text,'hex','utf8');
dec += decipher.final('utf8');
return dec;
}
正在使用询问密码,因此用户输入密码进行加密,然后应使用相同的密码进行解密
当密码匹配时,一切正常,但问题是密码错误时。我找不到回调/方法来处理控制台输出的错误,然后由于密码错误解密失败。终端显示:
? Use same password: *
p�pP��X�B
��=�a�_��b��EyX��7�����X�y�����+�Rr�<��΅W��B�������am4r���+��v�
readline.js:924
throw err;
^
SyntaxError: Unexpected token
at Object.parse (native)
?使用相同的密码:*
P�聚丙烯��X�B
��=�A.�_��B��埃克斯��7.�����X�Y�����+�Rr� 我们有同样的询问,我希望这有帮助,我所做的是解决问题
密码解密没有用于检查密码的回调,但我简化了它,每次收到数据(也用密码加密)时,我都创建一个令牌验证器(也用密码加密)。
如果从我的令牌验证器(hmac或web令牌)验证令牌(从正确的密码解密),则令牌和“数据”以相同的密码加密。那么“数据”现在可以从我的服务器有效地处理了我们有相同的查询,我希望这有帮助,我所做的是解决问题
密码解密没有用于检查密码的回调,但我简化了它,每次收到数据(也用密码加密)时,我都创建一个令牌验证器(也用密码加密)。
如果从我的令牌验证器(hmac或web令牌)验证令牌(从正确的密码解密),则令牌和“数据”以相同的密码加密。那么“数据”现在可以从我的服务器上有效处理了您是否尝试过尝试{…}catch(e){…}
?您的可能副本通常不会使用那样的密码进行自动完整性检查。您使用的是哪种算法?@Phil_1984_u它是算法='aes-256-ctr'
您应该查看经过身份验证的加密或使用处理身份验证的现有加密库,以便正确捕获不正确的密码错误。您是否尝试过try{…}catch(e){…}
?可能的副本通常不会使用这样的密码进行自动完整性检查。您使用的是哪种算法?@Phil_1984_u这是算法='aes-256-ctr'
您应该查看经过身份验证的加密或使用处理身份验证的现有加密库,以便正确捕获不正确的密码错误。