问题描述
嗨,我在 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;
}
真正的解密值一定是这样的:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)