Sodium Compat は、Sodium 暗号化ライブラリ (libsodium) 用の純粋な PHP ポリフィルであり、PHP 7.2.0 以降のコア拡張機能であり、PECL で利用可能です。
PHP 拡張機能がインストールされている場合、Sodium Compat は実装の代わりに PHP 拡張機能を便宜的かつ透過的に使用します。
sodium_compat v1.21.0 は、master ブランチからの最後の v1.x リリースでした。今後、PHP 5.2 ~ 8.0 および 32 ビット整数をサポートする将来のリリースはすべてv1.x
ブランチに含まれます。
新しいメジャー バージョンが必要でない限り、sodium_compat の新しいバージョン (v2.0.0) は引き続き master ブランチに存在します。この作業の目標は、定型コードを削減しながら、コードの可読性とパフォーマンスを向上させることです。
疑問がある場合は、master ブランチの README ファイルで最新のバージョン情報を参照してください。
sodium_compat バージョン | サポートされている PHP バージョン | 32ビットサポート? | 支店 |
---|---|---|---|
v1.xy | 5.2.4 - 最新 | はい | v1.x |
v2.xy | 8.1 - 最新 | いいえ | マスター |
32 ビット PHP サポート ( PHP_INT_SIZE == 4
) が必要な場合は、引き続きsodium_compat v1.x を使用してください。パフォーマンスを向上させ、依存関係を小さくしたい場合は、v2.x を使用してください。
ライブラリとフレームワークでは、次のように Composer のバージョン制約を設定することをお勧めします。
{
"require" : {
/* ... */
"paragonie/sodium_compat" : ">= 1"
/* ... */
}
}
逆に、アプリケーションは、アプリケーションとその展開にとって重要な実際のバージョンを指定する必要があります。
この暗号ライブラリは、暗号または暗号解析を専門とする独立した第三者による正式な監査を受けていません。
プロジェクトでsodium_compatを使用し、そのような監査のための資金を用意する前にそのような監査が必要な場合は、問題を報告するか、 security at paragonie dot com
ご連絡ください。私たちが準備をお手伝いします。
ただし、sodium_compat は、Joomla! などの注目度の高いオープンソース プロジェクトで採用されています。そしてマジェント。さらに、sodium_compat は、安全な PHP 開発と PHP 暗号化を専門とする企業である Paragon Initiative Enterprises によって開発され、同様に PHP を専門とする他の多くのセキュリティ専門家によって非公式にレビューされています。
sodium_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 公開キーで検証します。