所以我有这个数据
{"encryption_iv":"ag5BHpO+NfmChFZXSr4kCA==","encryption_salt":"fiGyeCMwtWc=","filename":"file.maFile"}
我希望用我拥有的密钥和盐来解密这些数据,但我不知道如何制作它。我尝试使用nodejs插件file-encryptor
,但它没有用。
const encryptor = require('file-encryptor');
var text = encryptor.decryptFile('./maFiles/***.maFile', './maFiles/output_file.txt', 'dHM8e22vEoc=', function(err) {
// Decryption complete.
console.error(err);
});
console.log(text);
答案 0 :(得分:2)
在对提供的源进行进一步分析后,您可以从FileEncryptor.cs
看到KDF是PBKDF2,迭代次数为50k。因此,您需要使用PBKDF2的JS实现,并为其提供密码,salt,迭代计数和所需的密钥长度作为参数。这将返回使用的实际加密密钥。然后将密码从Base64编码解码为原始二进制,并使用AES/CBC/PKCS7Padding
解密。