Я использую Crypto библиотеку Node.js для шифрования/дешифрования следующим образом:Ошибка handeling при помощи Crypto в Node.js
encrypt = function(text, passPhrase){
var cipher = crypto.createCipher('AES-128-CBC-HMAC-SHA1', passPhrase);
var crypted = cipher.update(text,'utf8','hex');
crypted += cipher.final('hex');
return crypted;
} ,
decrypt = function(text, passPhrase){
var decipher = crypto.createDecipher('AES-128-CBC-HMAC-SHA1', passPhrase)
var dec = decipher.update(text,'hex','utf8')
dec += decipher.final('utf8');
return dec;
}
Там нет никаких проблем с шифрованием части. и если я отправлю правильный passPhrase для дешифрования, то проблем нет. Моя проблема в том, если я посылаю «неправильный» PassPhrase для дешифровки, код паузами и выдаст ошибку:
TypeError: Bad input string
at Decipher.Cipher.update (crypto.js:279:27)
at module.exports.decrypt (/xxxx/yyyyy/jjj/ssss/encryptionService.js:19:28)
at Object.module.exports.passwordDecryptor (/xxxx/yyyyy/jjj/ssss/encryptionService.js:59:56)
at Object.<anonymous> (/xxxx/yyyyy/jjj/ssss/test.js:32:33)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
Я не хочу это. Я хочу, например, decrypt Функция возвращает предложение «Пропустить неверную фразу». Согласно документации enter link description herecreateDecipher функция не принимает функцию обратного вызова. У кого-нибудь есть решение?
У меня тоже есть эта проблема. В библиотеке crypto не обрабатывается ошибка? – Costa