Linux PHP5.6安装libsodium

  • 爵特猛
  • 2022-12-24 15:15
  • 其它
  • 2647

前言


使用微信“商家转账到零钱”接口,当金额>=2000元时,需要将真实姓名作为参数传过去,微信方要求敏感信息加密,敏感信息加密使用RSA公钥加密算法,加密需要平台证书。调用接口下载平台证书密文,将密文解密后得到证书明文,最后将证书明文保存到项目本地中。


密文解密需要用到 string sodium_crypto_aead_aes256gcm_decrypt ( string $ciphertext , string $ad , string $nonce , string $key ) 这个函数,这个函数需要开启 libsodium 扩展才能使用。


注意:libsodium 扩展版本需要 ≥1.0.7,又因为Windows版本下支持PHP5.6的 ibsodium 扩展版本最高为1.0.6,所以要求Windows中PHP最低版本为7.0以上才可使用 crypto_aead_aes256gcm_decrypt  函数。





Windows 安装


(PHP ≥ 7.2) 直接去 php.ini 开启扩展就行 ,extension=php_sodium.dll 。因为 PHP7.2 版本后 PHP core 中就整合加密库 Libsodium。

(PHP < 7.2.0) 需要安装,libsodium PECL 地址 http://pecl.php.net/package/libsodium  然后下载 DLL 文件。

爵特猛

下载完成后解压:

  1. 把 php_sodium.dll 文件放到你的php安装目录下的ext目录下(我这运行的是phpStudy安装的php环境)

  2. 把 libsodium.dll 文件直接放到PHP安装的根目录

  3. 修改配置 php.ini,开启使用扩展 extension=php_sodium.dll 。

  4. 最后重启PHP,查看 phpinfo 

爵特猛

爵特猛

爵特猛




Linux 安装方法

1. 下载扩展:

  1. wget http://pecl.php.net/get/libsodium-1.0.7.tgz

爵特猛


2. 编译安装扩展:

注意:编译前需要修改 php.ini 中的  disable_functions   ,将 popen 从禁用函数中去掉。

  1. pecl install libsodium-1.0.7.tgz

爵特猛


3. 上图扩展下载后,第一次编译时失败,这里系统需要先安装 libsodium 。参考: https://www.cnblogs.com/mrlin/articles/14771626.html 

下载 libsodium :

  1. wget https://github.com/jedisct1/libsodium/releases/download/1.0.18-RELEASE/libsodium-1.0.18.tar.gz

解压缩 libsodium-1.0.18.tar.gz ,并进入目录:

  1. tar xf libsodium-1.0.18.tar.gz && cd libsodium-1.0.18

编译安装 libsodium :

  1. ./configure && make -j2 && make install

安装 libsodium 完成。


4. 返回 libsodium-1.0.7.tgz 所在目录重新执行编译扩展

  1. pecl install libsodium-1.0.7.tgz

爵特猛

如上图所示,安装 PHP libsodium 扩展成功。


最后重启PHP,查看phpinfo。



以上参考:

https://blog.csdn.net/yyws2039725/article/details/114825751

https://zhuanlan.zhihu.com/p/84899708

https://www.cnblogs.com/mrlin/articles/14771626.html

https://blog.csdn.net/u010324331/article/details/82153067

https://github.com/jedisct1/libsodium-php


资源下载:

https://download.libsodium.org/libsodium/releases/

http://pecl.php.net/package/libsodium




本文为爵特猛原创文章,转载无需和我联系,但请注明来自爵特猛博客www.juetemeng.com