使用用户名 Appkey 密码 AppSecret (只有双方知道) 时间戳 所有拍过序的参数 组合起来,MD5加密,加密得到的签名
因为MD5是hash 函数,根据hash函数的特性 单项性,反向计算是不可能的;
比如sign=MD5(用户名 +密码+时间戳+参数)
及时中间截获了sign 签名,没有办法反向 解密,只要在服务端验证签名再次MD5 计算一遍,看签名是否正确,实现接口安全性;
密码是只有双方才知道的,及时知道参数,因为不知道密码所以 ,没法获得正确的签名;
如果是密码也知道了,比如内部人员的恶意攻击呢?
因为有时间戳,可以约定多长时间内有效,如果知道了时间戳的格式呢?比如内部人员呢,
所以这样来看是有漏洞的;
如果时间戳约定的时间,在某一段时间有效,比如10秒内,这样会好点,因为泄密也有一定的时间,当对方拿到appkey 再去请求,时间已经过了
appsecret 的存储,如果存储?