1

我有一个在 PHP 5.3 上运行的应用程序,它存储使用 PHPcrypt()函数散列的密码。但是,默认情况下使用的散列类型 (SHA 512) 在我现在使用的运行 PHP 5.2 的服务器之一上不可用。我已经看到使用 mcrypt 可以获得更多的灵活性,但使用起来也更复杂。

是否可以使用 PHP 的 mcrypt 函数获得与 crypt 相同的结果(使用 SHA512 salt)?

因此,如果我使用 SHA512 盐输入“测试”,则使用 crypt() 和使用 mcrypt() 时加密的数据应该相同。

如果不可能,任何人都可以给我其他建议吗?不幸的是,升级到 PHP 5.3 不是一种选择(它是一个云服务器,我没有时间为此编写脚本)。

4

2 回答 2

2

谁能告诉我是否可以使用 php5 的 mcrypt 函数来获得与 crypt 相同的结果

不,Mcrypt 提供加密解密功能。crypt,尽管名称具有欺骗性,但它提供了散列函数。这些不是同一个任务。Mcrypt 不提供任何散列函数,您要使用的算法(SHA-512)是散列算法。

您不能使用 Mcrypt 散列密码。那不是它的工作。它的作用和crypt'是不同的,不重叠。

于 2015-08-25T23:27:20.827 回答
0

不幸的是,MCrypt 没有 SHA512 密码 - 您可以在此处查看密码列表:

http://www.php.net/manual/en/mcrypt.ciphers.php

于 2010-12-02T22:01:05.840 回答