npm install jsencrypt
通过 jsDelivr CDN 引入:
<script src="https://cdn.jsdelivr.net/npm/jsencrypt/bin/jsencrypt.min.js"></script>
<!doctype html>
<html>
<head>
<title>JavaScript RSA Encryption</title>
<script src="https://cdn.jsdelivr.net/npm/jsencrypt/bin/jsencrypt.min.js"></script>
</head>
<body>
<textarea id="pubkey">-----BEGIN PUBLIC KEY-----...</textarea><br/>
<textarea id="privkey">-----BEGIN RSA PRIVATE KEY-----...</textarea><br/>
<textarea id="input">This is a test!</textarea><br/>
<button id="testme">Test Me!</button>
<script>
document.getElementById('testme').onclick = function() {
// Encrypt with the public key...
var encrypt = new JSEncrypt();
encrypt.setPublicKey(document.getElementById('pubkey').value);
var encrypted = encrypt.encrypt(document.getElementById('input').value);
// Decrypt with the private key...
var decrypt = new JSEncrypt();
decrypt.setPrivateKey(document.getElementById('privkey').value);
var decrypted = decrypt.decrypt(encrypted);
// Check the result
alert(decrypted === document.getElementById('input').value ? 'It works!' : 'Something went wrong...');
};
</script>
</body>
</html>
var encrypt = new JSEncrypt();
encrypt.setPublicKey(pubkey);
var encrypted = encrypt.encrypt("Hello World");
var decrypt = new JSEncrypt();
decrypt.setPrivateKey(privkey);
var decrypted = decrypt.decrypt(encrypted);