JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://www-cs-students.stanford.edu/~tjw/jsbn/prng4.js"></script>
<script src="http://www-cs-students.stanford.edu/~tjw/jsbn/rng.js"></script>
<script src="http://www-cs-students.stanford.edu/~tjw/jsbn/base64.js"></script>
<form name="rsatest" onSubmit='do_encrypt();return false;'>Plaintext (string):
<br>
<input id="plaintext" name="plaintext" type="text" value="test" size=40>
<input type="button" value="encrypt" id="encrypt">
<p>Ciphertext (hex):
<br>
<textarea id="ciphertext" name="ciphertext" rows=4 cols=70></textarea>
<p>Ciphertext (base64):
<br>
<textarea id="cipherb64" name="cipherb64" rows=3 cols=70></textarea>
<p>
JavaScript
var n = "BC86E3DC782C446EE756B874ACECF2A115E613021EAF1ED5EF295BEC2BED899D26FE2EC896BF9DE84FE381AF67A7B7CBB48D85235E72AB595ABF8FE840D5F8DB";
var e = "3";
var d = "7daf4292fac82d9f44e47af87348a1c0b9440cac1474bf394a1b929d729e5bbcf402f29a9300e11b478c091f7e5dacd3f8edae2effe3164d7e0eeada87ee817b";
function do_encrypt() {
var before = new Date();
var rsa = new RSAKey();
console.log(rsa);
rsa.setPublic(n, e);
var res = rsa.encrypt($("#plaintext").val());
$("#ciphertext").val(res);
$("#cipherb64").val(hex2b64(res));
console.log("res");
// rsa.generate("10","3");
rsa.setPrivate(n, e, d);
console.log(rsa);
var plain2 = rsa.decrypt(res);
console.log("plain: "+plain2);
}
$("#encrypt").click(function () {
do_encrypt();
});