2009-12-27 22 views
19

我正在搜索提供SHA-512哈希的任何加密库。谷歌搜索我发现一些,但SHA-512缺席。用于PHP的SHA-512库

请建议。

回答

33

如果你正在使用PHP> = 5.3,功能openssl_digest应该做的伎俩:

echo openssl_digest('glop', 'sha512'); 

给我这个输出(在两行分裂,以获得更好的可读性)

416b1861951170e1f6eb6543b0dd3d4f1994ce8da7cd82061513d3ddd1dd81111 
f4ada5caf6421f1d17425c6f29bdb4a95cf84df9eda4164f5a762acbb490a68 

(您可以使用openssl_get_md_methods获取可用摘要方法的列表)


并与PHP 5.1或5.2,你有hash功能:

echo hash('sha512', 'glop'); 

给我相同的输出(分裂,太)

416b1861951170e1f6eb6543b0dd3d4f1994ce8da7cd82061513d3ddd1dd81111 
f4ada5caf6421f1d17425c6f29bdb4a95cf84df9eda4164f5a762acbb490a68 

而且,在这里,要知道可用摘要方法的列表,你可以使用hash_algos

+5

是什么openssl_digest'和PHP> = 5.3'hash''之间的区别? – Markus 2011-02-07 20:24:45

+2

-1没有解释为什么'openssl_digest'应该比'hash'更受欢迎。 – 2011-10-25 10:18:22

+2

任何人都可以解释是否和为什么要使用openssl_digest而不是散列? – Rob 2012-06-16 14:59:11

15

在PHP 5> = 5.1.2,PECL散列> = 1.1:

hash('sha512', someStr); 

查看hash()了解更多信息。
要查看提供给你所有的哈希算法,尝试:

print_r(hash_algos());