Sodium Compat 是 Sodium 加密库 (libsodium) 的纯 PHP 填充,它是 PHP 7.2.0+ 中的核心扩展,并且在 PECL 中可用。
如果您安装了 PHP 扩展,Sodium Compat 将机会性地、透明地使用 PHP 扩展而不是我们的实现。
odium_compat v1.21.0 是 master 分支的最后一个 v1.x 版本。从现在开始,所有支持 PHP 5.2 - 8.0 和 32 位整数的未来版本都将位于v1.x
分支中。
除非需要新的主要版本,否则较新版本的odium_compat(即 v2.0.0)将继续存在于 master 分支中。这项工作的目标是提高代码的可读性和性能,同时减少样板代码。
如有疑问,请参阅 master 分支中的 README 文件以获取最新版本信息。
钠兼容版本 | 支持的 PHP 版本 | 32位支持吗? | 分支 |
---|---|---|---|
v1.xy | 5.2.4 - 最新 | 是的 | v1.x |
v2.xy | 8.1 - 最新 | 不 | 掌握 |
如果您需要 32 位 PHP 支持 ( PHP_INT_SIZE == 4
),请继续使用odium_compat v1.x。如果您希望提高性能并减少依赖关系,请使用 v2.x。
我们建议库和框架设置 Composer 版本约束,如下所示:
{
"require" : {
/* ... */
"paragonie/sodium_compat" : ">= 1"
/* ... */
}
}
相反,应用程序应该指定对其及其部署重要的实际版本。
该密码学库尚未经过专门从事密码学或密码分析的独立第三方的正式审核。
如果您在项目中使用odium_compat 之前需要进行此类审核,并且有资金进行此类审核,请提出问题或联系security at paragonie dot com
以便我们帮助您顺利开展工作。
然而,sodium_compat 已被备受瞩目的开源项目采用,例如 Joomla!和马真托。此外,sodium_compat 是由 Paragon Initiative Enterprises(一家专门从事安全 PHP 开发和 PHP 加密技术的公司)开发的,并且已经过许多其他同样专门研究 PHP 的安全专家的非正式审查。
如果您想详细了解我们为防止odium_compat 成为系统漏洞来源而采取的防御性安全措施,请阅读加密安全 PHP 开发。
如果您使用 Composer:
composer require paragonie/sodium_compat
如果您不使用 Composer,请下载发布 tarball(应使用我们的 GnuPG 公钥进行签名),提取其内容,然后将我们的autoload.php
脚本包含在您的项目中。
<?php
require_once " /path/to/sodium_compat/autoload.php " ;
自版本 1.3.0 起,sodium_compat 版本包含 PHP 存档(.phar 文件)和关联的 GPG 签名。首先,下载这两个文件并使用我们的 GPG 公钥验证它们,如下所示: