为了账号安全,请及时绑定邮箱和手机立即绑定

关于"api接口的sign的设计"的一点点疑惑

关于"api接口的sign的设计"的一点点疑惑

MMTTMM 2019-03-13 18:15:21
**感谢mcfog和yc8332的回答按照mcfog的回答如果sign的算法公开的话, sign不就没有校验功能了吗, 恶意攻击的人也可以根据该算法生成sign了**刚读了一篇相关的博文, 有一点不明, 请大家解惑,谢谢文中讲到sign是根据用户"请求的所有参数,包括timestamp还有token", 然后通过加密算法生成的sign. 然后他说在验证sign的时候是通过相同的加密规则生成一个sign, 看是否与请求的sign相同.我的疑惑来了:用户是怎么知道合法的sign是什么, 是在用户登录成功后, 和token一起返回给客户端的吗?如果是的话这个token和sign在客户端和服务器端一般是怎么保存的, 是都存放在cookie中和session中?每次请求的参数和时间戳一定是不同的, 怎么会能"根据用户请求的url参数, 重现出原来加密出的sign", 加密的原始素材只有token没变, 而其他的都变了, 怎么一样呢.博文的原文如下:"将所有用户请求的参数按照字母排序(包括timestamp,token),然后根据MD5加密(可以加点盐),全部大写,生成sign签名,这就是所说的url签名算法。然后登陆后每次调用用户信息时,带上sign,timestamp,token参数。""根据用户请求的url参数,服务器端按照同样的规则生成sign签名,对比签名看是否相等,相等则放行。(自然url签名也无法100%保证其安全,也可以通过公钥AES对数据和url加密,但这样如果无法确保公钥丢失,所以签名只是很大程度上保证安全)"
查看完整描述

3 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

sign是不保存的,动态的,根据提交参数加密而成的,主要是防止中间人攻击或者是数据的完整性


查看完整回答
反对 回复 2019-04-22
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

公开 是对自己人公开, 你要纠结这点的话 我世界上没有安全的东西了。也无法处理了


查看完整回答
反对 回复 2019-04-22
  • 3 回答
  • 0 关注
  • 672 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信