1 回答

TA貢獻1946條經驗 獲得超3個贊
我認為對你的解密函數做一個相當小的改動應該可以解決這個問題,如果你只是將它更新為:
const decrypt = (data, authTag) => {
try {
const salt = data.slice(0, 64);
const iv = data.slice(64, 96);
const text = data.slice(96, data.length);
authTag = new Buffer.from(authTag, 'base64');
let derivedkey = crypto.pbkdf2Sync(key, salt, 55000, 32, 'sha512');
let decipher = crypto.createDecipheriv(ALGO, derivedkey, iv);
decipher.setAuthTag(authTag);
let decrypted = Buffer.concat([decipher.update(text), decipher.final()]);
return decrypted;
} catch (e) {
console.log(e);
}
};
我認為以前的實現沒有正確連接非文本文件的結果。
添加回答
舉報