java web登入的时候加密传输_Web登录,密码RSA加密传输

  • Post author:
  • Post category:java


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函数公钥进行加密。

functionencryptPwd() {var ipwd = $(“#inputPwd”).val();var encrypt = newJSEncrypt();

encrypt.setPublicKey(public_key);

$(“input[name=’password’]”).val(encrypt.encrypt(ipwd));

$(“#inputPwd”).val(“”);

};

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

7a25de68cf40bf4abf0fa92893c692b9.png

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

密码加密传输完成。



版权声明:本文为weixin_35023786原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。