所以,我最近一直在研究加密,我听说有人使用时间戳作为加密密钥。我认为这是一个好主意,但如果我想解密数据,我将如何检索该特定时间戳?时间戳是唯一的,我不确定这是如何工作的。
编辑: 我正在使用PHP和MYSQL
答案 0 :(得分:2)
呃,通常使用时间戳作为生成键的基础 - 而不是键本身。如果您希望能够解密数据,那么关键是您必须存储的内容。
答案 1 :(得分:0)
唯一的方法是保存时间戳。 (假设您的加密没有后门,这会使其无效)
我要做的是将时间戳与加密字符串一起以不同的格式保存Ex:09/21/2011 03:09:53
并使用strtotime()
和salting的组合将两个信息位存储在一个安全的庄园中。
09/21/2011 03:09:53
变为13165--Salt--74593
答案 2 :(得分:0)
这里有两个问题。
您需要在某处存储时间戳。那么为什么不使用“rand()”并存储它。
可以在现代多线程,多核处理器上获得数百个重复的时间戳。所以你也可以使用date()。
答案 3 :(得分:0)
时间戳会生成糟糕的键。一个程序可以在眨眼之间闪现所有可能的键。
时间通常用于启动随机数生成器的组件。但它不能是唯一不能用作密钥的组件。
时间可以半成功地用作散列算法的盐。它仍然不如随机的那么好,因为它允许攻击者提前生成彩虹表。
答案 4 :(得分:0)
我不想伤害你的感情,但是......
很明显,你从未研究过加密。
所以,请 不要设计自己的加密协议,也不要自己组装加密基元(就像“WiFi”设计师/业余爱好者密码学家对WEP所做的那样)
旨在实现特定安全目标的协议(我并非故意说“安全协议”)是由专家发明和实施的。
首先需要定义安全目标,然后选择适当的协议。