提供PHP> = 5.1的
hash()
函数应该能够生成sha512哈希 – 您可以验证这个调用
hash_algos()
函数,该函数列出了支持的哈希算法.
例如,您可以使用:
$sha512 = hash('sha512',"Hello,World!"); var_dump($sha512);
你会得到:
string '374d794a95cdcfd8b35993185fef9ba368f160d8daf432d08ba9f1ed1e5abe6cc69291e0fa2fe0006a52570ef18c19def4e617c33ce52ef0a6e5fbe318cb0387' (length=128)
并且,在我的系统上,代码的以下部分:
$supported = hash_algos(); var_dump($supported);
表示支持42种哈希算法:
array 0 => string 'md2' (length=3) ... 6 => string 'sha384' (length=6) 7 => string 'sha512' (length=6) 8 => string 'ripemd128' (length=9) 9 => string 'ripemd160' (length=9) ... 40 => string 'haval224,5' (length=10) 41 => string 'haval256,5' (length=10)
此外,使用PHP> = 5.3,您应该能够使用openssl_digest()
函数:
$sha512 = openssl_digest("Hello,World!",'sha512'); var_dump($sha512);
(是的,参数与hash()的顺序不同 – PHP的神奇之处,这里……)
并且,要获得支持的算法列表,您可以使用openssl_get_md_methods()
.
在我的系统上,这个给了我22个支持的算法.