手机扫一扫访问本页内容

微信扫描点右上角"···"分享到好友或朋友圈

关闭
微信扫一扫可打开小程序

微信长按图片或搜“分享录”可打开小程序

关闭
前端,算法 , , ,

前端JS框架JSEncrypt使用RSA加密算法进行加解密

关于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”关键字获取。


历史上的今天:

展开阅读全文


上一篇:

下一篇:

服务器又要到期了鼓励一下吧
您还可以访问本站的小程序、公众号等所有端,或者下载APP, 在小程序、APP上可以评论文章以及保存图片还有在线客服哦,如您有任何疑问或建议可向作者提出意见反馈
扫码打开小程序可评论文章保存图片,在“我的”有实时在线客服哦,看效果?
关注我的公众号为您分享各类有用信息
分享录多端跨平台系统