我想存储在数据库中加密的配置文件细节。但是,一些细节应该是唯一的,并且由于加密算法随机化每次加密的种子,因此无法确定该值是否已存储在数据库中。如何比较随机种子的加密字符串?
- 我可以循环遍历每一行并解密必要的列,但如果行数很大,这将花费太长时间。
- 我可以存储这些(未加密的)细节
的散列值,但是这将首先终止加密点。
那么,如何比较一个加密的字符串(随机种子)与其他人保存在数据库中?
任何帮助,高度赞赏。加密是使用php(MCRYPT_RIJNDAEL_256
/NOFB
),数据库是MySQL。
编辑/解决方案:除了加密值之外,存储数据散列似乎是我最好的解决方案。这使得验证独特的列对我来说足够简单。感谢大家离开他们的评论/答复。
有趣的问题,虽然我不认为有一个答案超越“将它们未加密地存储在单独的列中”......但我们将看到 – 2012-01-02 09:46:47
我会使用与用户相关的盐的哈希,如他们的用户名这样,如果一个用户的配置文件字段是已知的,则不能推导出在该字段中具有相同的非哈希值的另一个用户,因为它们的散列值将会不同。 – halfer 2012-01-02 09:52:52
@Pekka是的,我们来看看...... – Alasjo 2012-01-02 09:54:13