
备受关注的加密库 libsodium 现已推出全新的 1.0.21 版本。这个版本不仅完整继承了 1.0.20-stable 的全部更新,还在此基础上增加了若干关键功能和安全强化措施,为开发者带来了更强大的工具集和更稳固的保护机制。
- 全新推出的
crypto_ipcrypt_系列函数,专门为 IP 地址设计,提供加密保护和匿名化处理能力,有效提升网络传输的安全性; - 新增配套工具函数
sodium_bin2ip与sodium_ip2bin,实现 IP 地址在二进制格式与字符串表示之间的便捷互转,能够与crypto_ipcrypt_*系列配合工作; - 引入 XOF(可扩展输出函数)支持:
crypto_xof_shake*与crypto_xof_turboshake*,具备任意长度输入/输出能力,同时兼具哈希函数的安全特性;广泛适用于后量子密码方案、密钥派生、会话加密等多样化场景。
1.0.20-stable 版本亮点回顾
- XCFramework 构建流程现已强制启用 Apple Silicon 原生交叉编译,彻底规避 Rosetta 模拟带来的构建异常问题;
- Fil-C 编译器现已默认集成,开箱即用,无需额外配置;
- CompCert 编译器获得完整支持,亦可直接使用;
- 新增对 MSVC 2026(Visual Studio 2026)的最新兼容支持;
- Zig 构建系统扩展支持 FreeBSD 目标平台;
- 多款编译器优化了 ARM 架构下 AES256-GCM 与 AEGIS 算法的执行效率;
- NuGet 包中已纳入 Android 平台二进制文件;
- NuGet 包中同步新增 Windows ARM 架构二进制文件;
- Android 构建脚本全面升级:基础 SDK 版本提升至 27c,目标平台版本设为 21,同时支持 16 KB 页面大小;
- 支持使用 Zig 0.15 与 Zig 0.16 进行项目编译;
- 对于支持 PIC(位置无关代码)的目标平台,Zig 构建默认生成位置无关静态库;
- XCFramework 包中新增 arm64e 架构构建产物;
- XCFramework 现已以完整构建形态发布,不再采用精简版;
- MSVC 构建已正式启用 ARM64 支持;
- XCFramework 构建脚本移除对 iOS 32 位架构(armv7/armv7s)的历史兼容;
- 安全强化:在核心代码路径中嵌入 optblockers,有效阻止编译器因条件跳转引入潜在侧信道风险——该问题曾在特定 RISC-V 工具链组合中被实测发现;
- 安全修复:
crypto_core_ed25519_is_valid_point()函数现已严格校验输入点是否属于主子群,准确拒绝所有低阶非法点; - 部分
crypto_stream*接口的((nonnull))属性已适度放宽,允许在输出长度为零时传入 NULL 缓冲区指针; - 修复旧版 Clang 在交叉编译环境下的兼容性问题;
- JavaScript 支持扩展:新增 Cloudflare Workers 运行时适配;
- JavaScript 兼容性调整:为保障与早期运行时的向后兼容,WASM_BIGINT 功能已被显式禁用;
- 解决 Solaris 系统上老旧工具链导致的编译失败问题;
crypto_aead_aes256gcm_is_available函数现已导出至 JavaScript 接口;- libsodium 已完成与 Emscripten 4.x 的全面适配;
- 安全加固:在 AEAD 模式 MAC 验证完成后插入内存屏障,防止 CPU 在认证尚未完成前对明文数据进行推测性访问;
- 当启用 CET(控制流强制技术)插桩构建时,汇编源文件自动添加
.gnu.property注释,确保 IBT(间接分支追踪)与 Shadow Stack 功能正确启用。
更多详细信息请参阅最新发布页:https://www.php.cn/link/512ba6448f63790387e2ad3d3bc630d0
源码下载地址:点击下载
