最近新项目上线,被客户扫描出【已解密的登录请求】,原因是我们在登录请求时没有对用户名或密码进行加密请求(悲催,以前的项目没有进行加密也没出啥问题),本着客户至上的原则,我们在下次投产时把这个功能给加上。
在网上关于JS和java互通加解密的算法有很多,比如DES、RSA、base64和AES等。权衡之下选择了AES加解密算法。
好了,废话不多说,开始我们的代码之旅吧。
登录界面JS实现
需要引入 aes.js依赖包
pageEncoding="UTF-8"%>
登录登录!
账号:
密码:
登录
重置
$(document).ready(function() {
document.getElementById('loginButton').onclick = function() {
var account = $('#account').val();
var password = $('#password').val();
if(account == '') {
alert("用户账号不能为空");
return;
}
if(password == ''){
alert("密码不能为空");
return;
}
//加密
account = encryptAES(ac