PHP的SHA-512库

20

我正在寻找一个提供SHA-512哈希的任何加密库。在Google上搜索了一些,但都不包含SHA-512。

请给出建议。

2个回答

37

如果您使用的是 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
在PHP>=5.3中,openssl_digesthash有什么区别? - Markus
2
不解释为什么应该优先选择“openssl_digest”而不是“hash”。 - o0'.
2
有人能解释一下为什么要使用openssl_digest而不是hash吗? - Rob
它们是相同的。此外,查看这个问题以获取良好的阅读体验:https://dev59.com/l2ox5IYBdhLWcg3wzng0 - Joel Mellon

16
在PHP 5 >= 5.1.2版本中,PECL hash >= 1.1版本:
hash('sha512', someStr);

查看更多信息,请访问hash()
要查看所有可用的哈希算法,请尝试:
print_r(hash_algos());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接