关于RSA加密算法我之前已经讲过了,这里不再重复。
使用前端JS框架JSEncrypt进行RSA加密算法加解密其实很简单,首先要有RSA密钥对(可以用JSEncrypt生成也可以用其他工具生成,其中公钥可以公开,私钥不能公开,当然也没必要让任何人都知道公钥),然后就可以用公钥进行加密、用私钥进行解密,主要用到getPublicKey、getPrivateKey、setPublicKey、encrypt、setPrivateKey、decrypt方法,当然要记得先引入jQuery,效果如下图。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>前端JS框架JSEncrypt使用RSA加密算法进行加解密_分享录-xubintao.cn</title>
<style>
#encryptResult, #decryptResult {
word-break: break-all;
}
</style>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="./jsencrypt-master/bin/jsencrypt.min.js"></script>
<script>
$(function() {
$("#encryptBtn").click(function() {
//生成密钥对
var keys = new JSEncrypt();
var publicKey = keys.getPublicKey();
var privateKey = keys.getPrivateKey();
var encryptInfo = $("#encryptInfo").val();
//用公钥进行加密
var encrypt = new JSEncrypt();
encrypt.setPublicKey(publicKey);
var encrypted = encrypt.encrypt(encryptInfo);
$("#encryptResult").html(encrypted);
//用私钥进行解密
var decrypt = new JSEncrypt();
decrypt.setPrivateKey(privateKey);
var decrypted = decrypt.decrypt(encrypted);
$("#decryptResult").html(decrypted);
});
});
</script>
</head>
<body>
<label for="encryptInfo">要加密的明文:</label><br/>
<textarea id="encryptInfo" name="encryptInfo" type="text" rows='10' cols='50'>App Store/公众号/小程序:分享录</textarea>
<button id="encryptBtn">加密</button><br/>
<label for="encryptResult">加密后的密文:</label><br/>
<div id="encryptResult"></div><br/>
<label for="decryptResult">解密后的明文:</label><br/>
<div id="decryptResult"></div>
</body>
</html>
可以到JSEncrypt网站找到该插件的Github项目下载链接,如果无法下载可以到我公众号发送“s4333”或“JSEncrypt”关键字获取。
历史上的今天:
展开阅读全文
上一篇: RSA加密算法