pil*_*rth 3 security hash cryptography
我正在尝试创建一个时间限制键,以便在我的某个应用程序中使用.该密钥用于解锁应用程序中的某些功能.
到目前为止我的想法是
生成:加密哈希我需要的各种信息+密钥生成日期
验证:加密哈希我需要的各种信息+现在约会
如果所有信息都相同且日期相同,我会得到相同的值
但,
这意味着密钥只能在某个特定日期使用.我想要的是一个在接下来的24小时内有效的密钥(或者延长这个,几天/每周/每月).
我可以延长期限,但总是有可能在期限到期之前生成密钥,例如一个月密钥的月份的最后一天.
首先,这是一种可以接受的方式吗?如果是这样,我该怎么办?
我知道将时钟"缠绕"会打败系统 - 但我仍然有兴趣获得一些意见
我已阅读如何生成时间限制密钥或密码而不存储类似问题的数据.
您可以将令牌的到期日期作为部分,并使用类似HMAC 的MAC对整个数据进行身份验证:
token = data ":" expiration ":" HMAC(key, data ":" expiration)
Run Code Online (Sandbox Code Playgroud)
要验证令牌,您只需要比较给定的到期数据并使用密钥重新生成所提供数据的MAC .
如果任何提供的参数被篡改,则MAC将是不同的,因为需要秘密密钥来生成真实的MAC.
| 归档时间: |
|
| 查看次数: |
1571 次 |
| 最近记录: |