//前端操作

1、在登录时返回的token中按.切成数组取第三段作为key (这个自己定最好不要直接取)

2、使用支付密码时传

timespan: 当前时间(格式:yyyyMMddHHmmssfff)

onceKey:  Md5(key+userId+timespan)  

payPwd:   Md5(key+ onceKey +Md5(密码明文+userId))

 

加密后的数据只能用一次

这种只能防不会破解加壳混淆后的app的入侵者,但是用在这个项目上完全够了,

 

 

//后端操作

1、从登录缓存取key

2、从数据库取Md5(密码明文+userId)后的密码

3、判断 onceKey是否使用过

4、判断Md5(key+userId+timespan)是否等于onceKey

5、Md5(key+ onceKey +Md5(密码明文+userId))是否等于payPwd