PHP - 无论如何要 encrypt/decrpyt 在 PHP 中散列?

PHP - Has anyway to encrypt/decrpyt hash in PHP?

我有兴趣在 PHP 中 encrypt/decrpyt 散列。

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

但是,是否可以通过另一个哈希值(如 ripemd160、haval256,5 或 ripemd256)在 PHP 中生成 encrypt/decrpyt?

感谢

哈希是一种方法algorithms.The破解它们的唯一方法是暴力破解。

例如,比特币使用 SHA-256 哈希作为接收地址。您可以很快地暴力破解前几个 letters/digits,但即使只是破解前 6 个也需要一天的时间。 7 个需要一个星期,8 个可能需要几个月!破解整个比特币地址需要很多年!

所以你问的恐怕做不到。

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

  • 特定输入总是产生相同的输出
  • 无法根据输出解析输入
  • 输入的任何变化都会产生不同的输出

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

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

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

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