Cra*_*Day 9 security encryption
我需要生成随机令牌,这样当我稍后看到它们时我绝对可以确定它们实际上是由我生成的,即其他人几乎不可能生成假令牌.这有点像序列号生成,除了我不需要唯一性.实际上,它很像数字签名,除了我是唯一需要验证"签名"的人.
我的解决方案如下:
验证令牌是我生成的:
在我看来,任何人都不可能可靠地生成H,给定K没有S.这个解决方案太简单了吗?
Dus*_*tin 5
查看HMAC.
小智 3
您提出的解决方案是正确的。您本质上是在与自己执行质询-响应身份验证。每个令牌可以包含一个非秘密质询字符串 C 和 HMAC(C, K),其中 K 是服务器的秘密密钥。
要验证令牌,只需使用提供的 C 值重新计算 HMAC 并查看它是否与提供的 HMAC 值匹配。
另外,正如 Vinko 提到的,你不应该使用 MD5;SHA-256 是一个不错的选择。
归档时间:
17 年,3 月 前
查看次数:
424 次
最近记录: