我使用节点包Easy-encryption(https://www.npmjs.com/package/easy-encryption)。该包加密和解密字符串。如果解密创建了easy-encryption字符串,那好吧。但是如果解密不正确的字符串,那么服务器会丢弃并返回:
示例不正确的解密:
var crypt = new Crypt({
secret: crypt_config.secret,
iterations: crypt_config.iterations
});
var result = crypt.decrypt('test');
结果:
crypto.js:122
this.push(this._handle.update(chunk, encoding));
^
TypeError: Bad input string
at TypeError (native)
at Decipher.Cipher._transform (crypto.js:122:26)
at Decipher.Transform._read (_stream_transform.js:167:10)
at Decipher.Transform._write (_stream_transform.js:155:12)
...
如何在发生错误时使服务器继续工作并处理错误?
答案 0 :(得分:1)
如果要继续执行,请将代码封装在try catch语句中。
var crypt = new Crypt({
secret: crypt_config.secret,
iterations: crypt_config.iterations
});
try{
var result = crypt.decrypt('test');
}
catch(err){
alert(err);
}
但是,正如评论所说,你真的传递了正确的数据类型吗?这对你没有多大帮助。