Javascript 在PHP中使用EasyRSA加密,在JS中使用节点RSA解密
问题 我正在尝试创建一个简单的无信任文件共享应用程序。我使用EasyRSA()创建一个密钥对,然后用公钥加密我的数据。我将私钥发送到我的JS,在这里我使用节点RSA()。在这里,我尝试使用先前创建的私钥进行解密。但这种情况会发生: 错误Javascript 在PHP中使用EasyRSA加密,在JS中使用节点RSA解密,javascript,php,node.js,encryption,cryptography,Javascript,Php,Node.js,Encryption,Cryptography,问题 我正在尝试创建一个简单的无信任文件共享应用程序。我使用EasyRSA()创建一个密钥对,然后用公钥加密我的数据。我将私钥发送到我的JS,在这里我使用节点RSA()。在这里,我尝试使用先前创建的私钥进行解密。但这种情况会发生: 错误 Uncaught Error: Error during decryption (probably incorrect key). Original error: Error: Incorrect data or key at NodeRSA.modul
Uncaught Error: Error during decryption (probably incorrect key). Original error: Error: Incorrect data or key
at NodeRSA.module.exports.NodeRSA.$$decryptKey (drop.js:23265)
at NodeRSA.module.exports.NodeRSA.decrypt (drop.js:23213)
at window.onload (drop.js:22270)
我的JS代码如下所示:
var NodeRSA = require('node-rsa');
window.onload = function() {
var key_val = $('#key').val();
var ciphertext = $('#encrypted').val();
var key = new NodeRSA();
key.importKey($('#key').val(), 'pkcs1');
var ciphertext_base = key.encrypt(ciphertext, 'base64');
var decrypted_base = key.decrypt(btoa(ciphertext));
console.log(decrypted);
}
我认为这与用于创建密钥的格式/密钥大小/算法之间的不兼容有关。如果有人能帮我“破解”并使其生效,我将非常感谢您。您没有提供足够的信息。。。PHP代码?你的钥匙是什么格式的?给出输入和输出数据等示例。对于初学者,EasyRSA不使用PKCS1填充。另一方面,实际的加密是。