JavaScript实现非对称加密解密

源代码下载地址:https://download.youkuaiyun.com/download/Angushine/91564142

源代码:

<!DOCTYPE html>
<html lang="en"><head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <meta charset="utf-8"/>
    <title>未找到页面</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"/>
    <meta name="robots" content="noindex"/>
    <meta name="mobile-web-app-capable" content="yes"/>
    <meta name="format-detection" content="telephone=no"/>
    <script type="text/javascript" src="jsencrypt.min.js"></script>
    <script type="text/javascript" src="jquery-3.7.1.min.js"></script>
    <script type="text/javascript">

        const js = new JSEncrypt();
        const publicKey = js.getPublicKey();
        const privateKey = js.getPrivateKey();

        console.log('公钥:', publicKey);
        console.log('私钥:', privateKey);

        // 加密
        function encrypt(txt) {
            const encryptor = new JSEncrypt();
            encryptor.setPublicKey(publicKey); // 设置公钥
            return encryptor.encrypt(txt); // 对数据进行加密
        }

        // 解密
        function decrypt(txt) {
            const encryptor = new JSEncrypt();
            encryptor.setPrivateKey(privateKey); // 设置私钥
            return encryptor.decrypt(txt); // 对数据进行解密
        }

        function doEncrypt() {
            let str1 = $('#txt1').val();
            let str2 = encrypt(str1);
            console.log(str2);
            $('#txt2').val(str2);
        }

        function doDecrypt() {
            let str1 = $('#txt2').val();
            let str2 = decrypt(str1);
            console.log(str2);
            $('#txt1').val(str2);
        }


    </script>
    <style>
        * { box-sizing: border-box; }
        html,body { margin: 0; padding: 0; }
        body { font-size: 15px; font-family: Inter, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif; line-height: 22px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    </style>
</head>
<body>
    <textarea id="txt1" style="width:100%;height:100px;"></textarea><br/>
    <button onclick="doEncrypt()">加密</button><button onclick="doDecrypt()">解密</button><br/>
    <textarea id="txt2" style="width:100%;height:100px;"></textarea>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

angushine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值