Node.js解密有盐的加密文件

时间:2017-01-27 20:11:36

标签: node.js encryption

所以我有这个数据

{"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);

1 个答案:

答案 0 :(得分:2)

在对提供的源进行进一步分析后,您可以从FileEncryptor.cs看到KDF是PBKDF2,迭代次数为50k。因此,您需要使用PBKDF2的JS实现,并为其提供密码,salt,迭代计数和所需的密钥长度作为参数。这将返回使用的实际加密密钥。然后将密码从Base64编码解码为原始二进制,并使用AES/CBC/PKCS7Padding解密。