1 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
我認(rèn)為對(duì)你的解密函數(shù)做一個(gè)相當(dāng)小的改動(dòng)應(yīng)該可以解決這個(gè)問題,如果你只是將它更新為:
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);
}
};
我認(rèn)為以前的實(shí)現(xiàn)沒有正確連接非文本文件的結(jié)果。
添加回答
舉報(bào)