• Web登录,密码RSA加密传输


    web端登录时对密码进行RSA加密传输的处理。

    准备:

    1.需要一对RSA秘钥

    2.需要jsencrypt.js进行加密,下载地址:https://unpkg.com/jsencrypt

    公钥放在前端,私钥放在后台。

    公钥:

    -----BEGIN PUBLIC KEY-----
    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqri0Zj/ufDV5hxJ5MwyYYqpYg
    NFLAOZUc0RXWFU5087UXvsJJWRtt4WsdlS8QraAa5USmR6f2gtXfRggxFSHyZBjv
    Mv6qDPbCYxwP1/kwSHbt4HmIVjgscVjz1zcl5639KoB5lGnblCruDKsiISwaLkEY
    AkBl40Hn+coq/AHmDwIDAQAB
    -----END PUBLIC KEY-----

    私钥:

    -----BEGIN PRIVATE KEY-----
    MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAOquLRmP+58NXmHE
    nkzDJhiqliA0UsA5lRzRFdYVTnTztRe+wklZG23hax2VLxCtoBrlRKZHp/aC1d9G
    CDEVIfJkGO8y/qoM9sJjHA/X+TBIdu3geYhWOCxxWPPXNyXnrf0qgHmUaduUKu4M
    qyIhLBouQRgCQGXjQef5yir8AeYPAgMBAAECgYBdXF1kxfr8E31wt5+iOiB1v6dp
    uGcTQdUoWaWuPVuw+yMYBzOTqndXB05tvmOy5t/C02K0I92WHAaphFrN6/JMkJPO
    OzZCB2mEz7gzmKmmw9coJZWHqdDDqdBuYfAYchIZq/evmUjZUvDfoIQ5pXSU0ya/
    bPzh0Y4ZBTb8nl88QQJBAP2Duuc6YJ9fi/wyEpRTaDthq4zHY4imbdxGtfwILWDj
    9UA5uXGWhGHBvwOWXJZYJe6X4qFnqW4jcjv1QdJa5v0CQQDs+y0UL8XMXiR65T5g
    CCJAylwz06JBqh7IZ2PF/U1/iZTvNjg7aGf4QtNF/9sMiMH6a/3OOhLNGQO7APXV
    4Nz7AkAXRn3ldt2iJEKU7//2sEW0lf4LGc9Qn38cpz1UG2gXKja9I8+b1ybmVsRz
    zt1HTGaHJli/WuYaX5TAXn8hkgj9AkAEPOmtdr0+zmAwonDfHsYeCoBjnOFF81jh
    lJfALqt4IGm9bWbMCS3yzp8gnVa5fqiZZd0AFyHG8S+T5IyA6qiJAkEAtKoAFm2U
    rT3axpWynQIow+vX5kNslzhE65EeP3OsW6OwL2ME0tan7orGb8942pPDkTFlM9AU
    dNCMqKR6tS2UEg==
    -----END PRIVATE KEY-----

    前端处理:

    用户在点击登录的时候对密码进行处理。

    在提交之前调用encryptPwd函数,使用JSEncrypt函数公钥进行加密。

    function encryptPwd() {
            var ipwd = $("#inputPwd").val();
            var encrypt = new JSEncrypt();
            encrypt.setPublicKey(public_key);
            $("input[name='password']").val(encrypt.encrypt(ipwd));
            $("#inputPwd").val("");
        };

    此时用户登录时,传输的密码就是处于加密状态。

    后台在接收到pwd加密后的密码时,使用私钥对pwd密码进行解密,然后在根据自己的密码加密算法进行配对。判断用户密码是否正确。

    密码加密传输完成。

    作者:Se7end

    声明:本博客文章为原创,只代表本人在工作学习中某一时间内总结的观点或结论。转载时请在文章页面明显位置给出原文链接。
  • 相关阅读:
    牛客小白月赛6 G 指纹锁 set的自动排序 模板
    牛客小白月赛6 E 对弈 思维
    牛客小白月赛6 F 发电 树状数组单点更新 求区间乘积 模板
    杭电多校第九场 hdu6424 Rikka with Time Complexity 数学
    杭电多校第十场 hdu6432 Cyclic 打表找规律
    杭电多校第十场 hdu6435 CSGO 二进制枚举子集
    二进制枚举子集模板
    C# DataTable删除行Delete与Remove的问题
    java.io.NotSerializableException错误解决方法
    Git使用gitignore建立项目过滤规则
  • 原文地址:https://www.cnblogs.com/se7end/p/9522311.html
Copyright © 2020-2023  润新知