解密期间的node-rsa错误(可能是错误的密钥)

时间:2018-10-19 07:47:21

标签: javascript node.js cryptography

因此,我在Node.js中安装了node-rsa软件包并生成了RSA密钥(如下所示),并以“ pkcs8”标准将其保存到.txt文件中。

import warnings
warnings.simplefilter(action='ignore', category=YourWarningCategory)

然后(在另一种方法中),我从.txt文件中读取RSA密钥,并加密了'plaintext.txt'(一切正常)。

 // Generate RSA key and export it in 'pkcs8' standard
var RSAkey = new NodeRSA({b: 512});
RSAkeyData = RSAkey.exportKey('pkcs8-public-pem');

// Write RSA key to file
fs.writeFile("input-output/RSA_private_key.txt", RSAkeyData, function(err, file) {
    if (err)
        console.log("Error: ", err);
    else
        console.log("RSA key has been generated!");
});

类似地,我尝试从.txt文件中读取我的RSA密钥并解密先前加密的.txt文件,并收到错误消息:“解密期间出错(可能是错误的密钥)。原始错误:错误:数据或密钥错误”

// Create new empty RSAkey and import saved key from RSAkeyDAta
var RSAkey = new NodeRSA();
RSAkeyData = fs.readFileSync("input-output/RSA_private_key.txt", 'utf8');
RSAkey.importKey(RSAkeyData, 'pkcs8-public-pem');

// Encrypt input data and write to file
var encryptedInput = RSAkey.encrypt(inputData, 'hex', 'utf8');
fs.writeFile("input-output/RSA_encrypted_" + filename, encryptedInput, function(err, file) {
    if (err)
        console.log("Error:", err);
    else
        console.log("File successfully encrypted with RSA!");  
}); 

我不知道这里是什么问题,因为我以加密输入文件的相同方式解密了输入文件,但该文件无法正常工作。我尝试在其他帖子(stackoverflowgithub)中找到解决方案,但未能解决我的问题。我还尝试了其他加密方案组合(pkcs1,私有等),但问题仍然存在。

0 个答案:

没有答案