密钥加密的时候使用到『秘锁』,这个"秘锁"是服务端存放在哪里的呢?我们具体在哪里查看到呢?
在阅读CSRF Token的生成的时候。
token由三部分组成:a).msg b). separator c).signature。
a). msg部分:而msg本身也有两部分组成:一部分,随机字符的主体,另一部分是过期时间戳。
b). 分隔符号:用符号分隔msg部分,和加密后生成的signature签名部分,这里用的是”.“
c). 签名signature。
token的组成是:
| msg | separator | signature |
------------------------------------------------
| key | timestamp | . | Base64(sha256(msg)) |
这里msg = key + timestamp
。关键他说后面的token的验证是:
是对上面提到的msg,按照msg中提到的msg的信息部分,按照特定的秘锁进行加密。
token = base64(msg)格式化..base64(sha256("秘锁", msg))
他的意思也就是:
base64(sha256("秘锁", key)
那么,这里我有一个问题就是,这个"秘锁"是服务端存放在哪里的呢?我们具体在哪里查看到呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以通过配置文件配置一个静态的,也可以在系统启动的时候随机生成一个。反正只要这个秘锁不会被攻击者猜到就OK。