У меня есть следующий фрагмент кодаNodeJS Расшифровать des3 Unicode
var crypto = require("crypto");
var iv = new Buffer('d146ec4ce3f955cb', "hex");
var key = new Buffer('dc5c3319dc25c1f6f11f6a792a6dd28864c9dd48be26c2e4', "hex");
var encrypted = new Buffer('6A57201D19B07ABFAE74B453BA46381C', "hex");
var cipher = crypto.createDecipheriv('des3', key, iv);
var result = cipher.update(encrypted);
result += cipher.final();
console.log("result: " + result);
В результате «пароль» Этот фрагмент кода работает отлично подходит для слов на основе ASCII. Однако у меня есть некоторые юникод-пароли.
Так, например, это Pi:
UU__3185CDAA15C1CDED
Я попытался с помощью этого значения, а также удаление «UU__», но не получить. я пытался что-то подобное для зашифрованных данных:
var encrypted = new Buffer('UU__3185CDAA15C1CDED', "utf16le");
и
var result = cipher.update(encrypted, 'ucs2');
но не идти .. я получаю следующую ошибку
Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decr ypt
at Error (native)
at Decipheriv.Cipher.final (crypto.js:202:26)
at Object.<anonymous> (/Users/miker/Local Projects/rec10_decryption/server2.js:14:18)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
Любая помощь будет значительно оценили.
Это идеальное решение. Спасибо за объяснение и ясность. – thxmike