我有一个在PHP 5.3上运行的应用程序,它使用PHP的crypt()
函数存储密码哈希值。但是,默认情况下,使用的哈希类型(SHA 512)在我正在使用的运行PHP 5.2的服务器上不可用。我已经看到使用mcrypt你可以获得更大的灵活性,但使用起来也更复杂。
是否可以使用PHP的mcrypt函数获得与crypt相同的结果(使用SHA512盐)?
因此,如果我使用SHA512盐输入“test”,则在使用crypt()以及使用mcrypt()时,加密数据应该相同。
如果不可能,有人可以给我建议还有什么可做的吗?不幸的是,升级到PHP 5.3不是一个选项(它是一个云服务器,我没有时间为其编写脚本)。
答案 0 :(得分:2)
任何人都可以告诉我是否可以使用php5的mcrypt函数来获得与crypt相同的结果
没有。 Mcrypt提供加密和解密的功能。 crypt
尽管名称具有欺骗性,但仍为哈希提供了功能。这些不是同一个任务。 Mcrypt不提供任何散列函数,您想要使用的算法(SHA-512)是一种散列算法。
你不能用Mcrypt哈希密码。这不是它的工作。它的作用和crypt
是不同的,不重叠。
答案 1 :(得分:0)
不幸的是,MCrypt没有SHA512密码 - 您可以在这里查看密码列表: