首先,引入crypto-js 或者测试直接使用下面的(用浏览器打开下面链接,复制到JS文件里,用script src的方式引到HTML中,避免链接失效)
<script src="https://yiyouqi.oss-cn-shanghai.aliyuncs.com/cdn/rsa/RSA.js"></script>
<script src="https://yiyouqi.oss-cn-shanghai.aliyuncs.com/cdn/crypto-js/build/components/core-min.js"></script>
<script src="https://yiyouqi.oss-cn-shanghai.aliyuncs.com/cdn/crypto-js/build/rollups/aes.js"></script>
首先获取公钥,然后对密码进行加密,然后把账号密码发给后端,成功后,后端返回Token,该Token 是加密过的,需要用aes进行解密。解密后对Token 进行Url签名。(把Token和Id放在sessionStorage或者localStorage里避免重复的去后端取)
登录代码如下:
//请求登录接口
let myajax = $.ajax({
url: getkeyApi,
timeout: 20000,
type: "post",
cache: false,
dataType: "json",
success: function (data) { //获取公钥
if (data.Result) {
setMaxDigits(131);
const key = new RSAKeyPair(data.Exponent, "", data.Modulus);
const username = obj.field.username;
const password = obj.field