我使用了Cryptico库,它运行得很好,但是来自Cryptico的公钥与OpenSSL不兼容(这意味着我不能使用它来用PHP加密数据)。我想知道如何生成密钥对客户端,其中公钥与OpenSSL兼容。目标是能够在IOS、Android或PHP上用公钥加密数据,并在Javascript上解密(这意味着它与跨平台兼容)。
发布于 2021-06-09 20:45:38
您可以在下面的链接:http://www-cs-students.stanford.edu/~tjw/jsbn/中使用jsbn库,您可以在这里看到演示:http://www-cs-students.stanford.edu/~tjw/jsbn/rsa2.html,这是您可能找到的最流行的库,您有机会根据您的需求定制它。另外,您还可以在这里使用jsencrypt的另一个选项:https://github.com/travist/jsencrypt --它也与openssl兼容。
// Encrypt with the public key...
var encrypt = new JSEncrypt();
encrypt.setPublicKey($('#pubkey').val());
var encrypted = encrypt.encrypt($('#input').val());
// Decrypt with the private key...
var decrypt = new JSEncrypt();
decrypt.setPrivateKey($('#privkey').val());
var uncrypted = decrypt.decrypt(encrypted);
// Now a simple check to see if the round-trip worked.
if (uncrypted == $('#input').val()) {
alert('It works!!!');
}
else {
alert('Something went wrong....');
}https://stackoverflow.com/questions/67909016
复制相似问题