Node.js странным образом выдает мне неправильный вывод при расшифровке закодированного в шестнадцатеричном формате вывода AES128.
function decrypt_data( data, key, iv )
{
var dc = crypto.createDecipheriv( 'aes-128-cbc', hex_to_str(key), hex_to_str(iv) );
var res = dc.update( data, 'hex', 'utf8' );
res += dc.final( 'utf8' );
console.log(res);
return res;
}
Эта функция, похоже, полностью в порядке, все тесты пройдены.Но когда я вызываю его с сервера реального узла, он возвращает поврежденный вывод.
Хвост сообщения в порядке, но первые 32 символа - полная фигня.Примерно так:
�8���ro�&����AMD Accelerated Parallel Processing" : [ "Cayman", "Cayman", "AMD Phenom(tm) II X2 555 Processor" ] }, "request" : "hello", "version" : 1 }
Независимо от того, какой ввод он принимает, возвращаемое значение всегда неверно в первых 32 байтах.