在上文windows使用openssl生成公钥和私钥https://www.luweidong.cn/details/72 中成功使用openssl生成了用于RSA加密和解密的公钥和私钥。只是生成这两货拿在手上毫无用处阿,接下来本文将描述如何在JavaScript中进行RSA加密和解密。
为什么要研究RSA在JavaScript中的应用呢。JavaScript在当今B/S系统中的重要性就不必多说了。正得益于JavaScript编程语言,才可以在web页面上实现很多复杂炫酷的功能。可以说是web开发者必学的编程语言之一!
样例使用到两个JS库,jsencrypt和jquery。摊牌了!实际上这个就是jsencrypt官方的例子!

首先提供样例真面目:

样例中有3个输入框,分别输入Private Key(私钥),Public Key(公钥),Text to encrypt(待加密文本)
点击按钮Test Me!后,将使用公钥对文本进行加密,然后再使用私钥进行解密,最后对比解密后的文本与原始文本。倘若两者一致,说明RSA加密解密过程正确,将alert "It works!!!",否则alert "Something went wrong...."
关键代码如下:
//加密 var encrypt = new JSEncrypt(); encrypt.setPublicKey($('#pubkey').val()); var encrypted = encrypt.encrypt($('#input').val());
//解密 var decrypt = new JSEncrypt(); decrypt.setPrivateKey($('#privkey').val()); var uncrypted = decrypt.decrypt(encrypted);
将上文中生成的公钥和私钥分别复制到输入框中,经过测试,是OK的。
我已将代码上传,下载码是:B47ED187A8
下载码是啥?如何下载=》点击查看https://www.luweidong.cn/details/88