token 很明显的就是做什么都需要令牌,而且该令牌是一次性的,每次都有新的令牌给你,该令牌不可伪造。
生成 token 的数据保护:用户ID、IP、时间,之后使用key加密
生成key
第一层:每个用户的登录md5值,每个值都加入了混淆码,因此不可测;
第二层:对取出的md5值再次md5加密;
第三层:新的md5值 + 64位key再次md5加密 ,生成加解密的key;
第四层:使用生成的key 对 token 数据加密,加密后仅限程序自身可解密,除非知道前三层生成key的数据,如果能知道这些数据,说明你的服务器已经被敌人占领。
第五层:用户提交数据给后端,后端拿到 token 后做以下验证。如果提交来的数据没有 token 直接拒绝该操作。
1.token 是否真实;
2.token 是否可以解密成功;
3.token 解密成功之后加密数据是否对应当前数据;
4.token 是否过期;
5.验证通过之后执行操作。