【发布时间】:2014-06-04 16:25:41
【问题描述】:
我是散列新手,我希望能够通过 MD5 散列运行散列以产生唯一值。目前我只是将 Hash 转换为字符串,然后通过 MD5 算法运行它。
这是执行此操作的好方法,还是有更好的方法来使用 MD5 加密哈希?
为了澄清我正在尝试为没有唯一 id 的对象创建缓存键,因此我尝试使用哈希来创建 id。
【问题讨论】:
-
小心加密这个词,被加密的东西可以被解密。没有办法得到只有像 MD5 这样的校验和的原始包。
-
@Sqeaky
MD5可以反向它是一个弱散列算法,例如看google search,如果你想要一个不可逆的散列算法,OP bcrypt 似乎是新的热点 -
你真正想要完成什么?
-
更新了我的问题以澄清我想要做什么
-
@bjhaid 反转弱加密哈希并不意味着数据是可恢复的。一个 MD5 哈希只有 128 位,但我可以 MD5sum 一个 20gb 的文件。弱散列是一种可以使无效数据具有与实际有效数据相同的校验和的散列。例如:我可以在操作系统安装光盘映像中安装病毒,然后在几个小时的时间里,我可以使我的恶意操作系统光盘具有与有效光盘相同的校验和。加密哈希努力使这种攻击在计算上达到不可能的地步。