点击登录。前端调用后端rsa接口,先获取初始化的秘钥对,将公钥转为HexMap(value为16十六进制的map,key("modulus","publicExponent,"waitId"),前两项为公钥固定属性,waitId(随机uuId))),以waitId为key将私钥存入redis中,失效时间为1分钟,将公钥传给前端的rsp对象。成功后,前端生成一个十六位的随机AES秘钥串,将AES秘钥串用赋值过公钥的rsa对象加密座位用户对象信息密文的key,密文根据未加密过的AES秘钥串对用户登录信息AES对称加密,调用用户登录接口(参数为:key,用户信息密文,waitId),根据waitId获取redis中存储的私钥,并用私钥对加密过得AES秘钥串RSA解密,然后用解密过得AES秘钥串对用户信息密文aes解密,对用户信息明文跟数据库进行校验
网友评论