错误
client慢加密
开始
用户名密码是否合法
验证bcryptpwd格式是否正确
正确
正常
password进行pbkdf2加密生成pbkdf2pwd
tokenkey加密JSONtoken生成encrytoken
返回的状态码只有成功失败,失败时respontoken留空,但是日志会记录真实的错误状态
server发放token
redis是否存在encryparam
子流程
返回respontoken及状态码
did+encrytoken放入rediskey:did+encrytokenvalue:encrytoken(用于一个账号多处登录,并可强制下线)
禁止登录
AES随机生成key,iv
是
否
验证sign是否正确
进入首页
key,iv加密encrytoken生成respontoken
过期
不存在
流程
输入用户名和密码
bcryptpwd验证pbkdf2pwd是否正确
允许登录
输入
解密dbpassword验证pbkdf2pwd是否正确
根据accountid查询数据库获得dbpassword
server验证合法性
存在
AES随机生成tokenkey
验证timestamp是否过期
pbkdf2pwd进行bcrypt加密生成bcryptpwd
存在,说明是重放
encryparam放入redisServerRSApri解密得到key,iv
是否允许登录
判断
用户是否存在
AES解密encryparam得到JSONparam