PHP - 无论如何在PHP中加密/ decrpyt哈希?

时间:2017-06-08 11:40:34

标签: php encryption hash hashcode

我有兴趣在PHP中加密/ decrpyt哈希。

但据我所知,hash只能用md5,sha1,sha256进行编码。

但是,是否有可能通过另一个散列如Maturemd160,haval256,5或ripemd256在PHP中进行加密/解密?

感谢

2 个答案:

答案 0 :(得分:2)

哈希是单向算法。破解它们的唯一方法是蛮力。

例如,比特币使用SHA-256哈希作为接收地址。你可以很快地对前几个字母/数字进行暴力破解,但即使只是破解前6个也会占用一天。 7将需要一个星期,8个月可能是几个月!破解整个比特币地址需要数年才能实现!

所以我担心你所要求的事情无法完成。

答案 1 :(得分:2)

哈希算法不是加密算法。散列算法具有以下原则:

  • 特定输入始终产生相同的输出
  • 无法根据输出
  • 解析输入
  • 对输入的任何更改都会产生不同的输出

从技术上讲,最后一个不是真的,因为你的可能输出量有限,但基本上无限量的可能输入。因此会有其他输入产生相同的输出,但对于强哈希算法,发现这些冲突需要很长时间,因为@ delboy1978uk解释。

MD5是一个弱哈希算法的示例,您不应该将其用于安全哈希。针对MD5的碰撞攻击很便宜。另一方面,SHA2系列中的散列算法可以被认为是安全的(例如,使用SHA256)。

加密算法需要一个或多个密钥才能对密文进行解密。

对你的问题的简短回答是否定的。