Node-forge 解密 aes-256-cbc 显示难以辨认的字符

问题描述

嗨,我在 node-forge 中有这个代码。 当我运行此代码时,解密后的数据“难以辨认”。

const keyHash = "d0f95d5e54a7aa25934a5d4915c9e2a06dadac20d16551693be1d21d4d8e8798"
//This keyHash really is in utf8: Nootric2703202 hash(sha256)

const encryptedB64 = "U2FsdGVkX1++7PN6CsF5Bi38t0N3EjXpH5oGpaIZXUwk4T8QCwcATjvA4b/8VaxD8nf/MZhKPnWb1L8raLR4lw==";

var encrypted = Buffer.from(encryptedB64,'base64');

var key = Buffer.from(keyHash,'hex');
var res = forgeDecrypt();



function forgeDecrypt() {
    const encoding = 'utf8';
    key = key.toString(encoding);
    initVal = encrypted.toString(encoding).substring(0,16);
    encrypted = encrypted.toString(encoding).substring(16);
    var decipher = forge.cipher.createDecipher('AES-CBC',key);
    decipher.start({ iv: initVal });
    decipher.update(forge.util.createBuffer(encrypted));
    var result = decipher.finish();
    result = decipher.output.getBytes();
    return result;
 }

enter image description here

真正的解密值一定是这样的:

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)