今年,AMD发布了一个名为RyZen的新系列x86-64桌面处理器。RyZen的规范显示它提供了新的基于SSE的SHA1和SHA-256指令wiki: Intel SHA扩展
我很好奇,是否已经有任何API/库能够将这些指令用于PHP或其他服务器端语言中的超高速散列,当您使用RyZen CPU时?如果没有,我们应该什么时候才能使用它?
由于Intel在2013年左右为硬件SHA提供了规范,似乎至少有几个编译器为其提供了支持。
发布于 2017-05-31 19:43:03
对硬件的支持-加速SHA256添加到OpenSSL1.0.2 2015年1月22日:https://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=CHANGES
1962年的变化范围为1.0.1l至1.0.2,2015年1月22日*)对新的和即将到来的英特尔处理器的支持,包括AVX2、2013年BMI和SHA扩展。这包括额外的2014年“拼接”实现,AESNI 256和GCM,以及2015年对TLS加密的多缓冲支持。
因此,使用已启用的硬件和最近的openssl,任何使用openssl计算SHA256的php/python库都可能使用硬件加速的SHA256摘要计算(如果在openssl中启用,并且库将选择此实现)。还有命令行:openssl dgst -sha256 -binary file_to_be_hashed。
在php:http://php.net/manual/en/function.openssl-digest.php和OPENSSL_ALGO_SHA256中有一些openssl库的原始绑定,因为PHP5.5:哪种openssl版本支持php中的sha256?
Linux可能从4.4版本开始使用硬件SHA2 1/SHA2 2:item&px=Linux4.4-Crypto (http://lkml.iu.edu/hypermail/linux/kernel/1511.0/00383.html);但是,PHP/其他脚本库不太可能使用内核cryptoapi。
https://stackoverflow.com/questions/44293192
复制相似问题