Sodium Compat ist ein reines PHP-Polyfill für die Sodium-Kryptographiebibliothek (libsodium), eine Kernerweiterung in PHP 7.2.0+ und ansonsten in PECL verfügbar.
Wenn Sie die PHP-Erweiterung installiert haben, wird Sodium Compat opportunistisch und transparent die PHP-Erweiterung anstelle unserer Implementierung verwenden.
odium_compat v1.21.0 war die letzte v1.x-Version aus dem Master-Zweig. Von nun an werden alle zukünftigen Versionen, die PHP 5.2 – 8.0 und 32-Bit-Ganzzahlen unterstützen, im v1.x
Zweig sein.
Neuere Versionen vonodium_compat (d. h. v2.0.0) bleiben weiterhin im Master-Zweig bestehen, es sei denn, es wird eine neue Hauptversion benötigt. Das Ziel dieser Arbeit besteht darin, die Lesbarkeit und Leistung des Codes zu verbessern und gleichzeitig den Boilerplate-Code zu reduzieren.
Im Zweifelsfall finden Sie in der README-Datei im Hauptzweig die neuesten Versionsinformationen.
Sodium_compat-Version | Unterstützte PHP-Versionen | 32-Bit-Unterstützung? | Zweig |
---|---|---|---|
v1.xy | 5.2.4 – AKTUELL | JA | v1.x |
v2.xy | 8.1 – AKTUELL | NEIN | Master |
Wenn Sie 32-Bit-PHP-Unterstützung benötigen ( PHP_INT_SIZE == 4
), verwenden Sie weiterhin Natrium_compat v1.x. Wenn Sie eine verbesserte Leistung und kleinere Abhängigkeiten wünschen, verwenden Sie v2.x.
Wir empfehlen Bibliotheken und Frameworks, eine Composer-Versionseinschränkung wie folgt festzulegen:
{
"require" : {
/* ... */
"paragonie/sodium_compat" : ">= 1"
/* ... */
}
}
Im Gegensatz dazu sollten Anwendungen die tatsächliche Version angeben, die für sie und ihre Bereitstellungen von Bedeutung ist.
Diese Kryptografiebibliothek wurde nicht offiziell von einem unabhängigen Dritten geprüft, der auf Kryptografie oder Kryptoanalyse spezialisiert ist.
Wenn Sie eine solche Prüfung benötigen, bevor Sie Natrium_compat in Ihren Projekten verwenden können und über die Mittel für eine solche Prüfung verfügen, eröffnen Sie bitte ein Problem oder wenden Sie sich an security at paragonie dot com
damit wir Ihnen helfen können, den Stein ins Rollen zu bringen.
Natrium_compat wurde jedoch von hochkarätigen Open-Source-Projekten wie Joomla! übernommen. und Magento. Darüber hinaus wurde Natrium_compat von Paragon Initiative Enterprises entwickelt, einem Unternehmen, das sich auf sichere PHP-Entwicklung und PHP-Kryptografie spezialisiert hat , und wurde von vielen anderen Sicherheitsexperten, die sich ebenfalls auf PHP spezialisiert haben, informell überprüft.
Wenn Sie mehr über die defensiven Sicherheitsmaßnahmen erfahren möchten, die wir ergriffen haben, um zu verhindern, dass „sodium_compat“ eine Schwachstellenquelle in Ihren Systemen darstellt, lesen Sie bitte „Kryptographisch sichere PHP-Entwicklung“ .
Wenn Sie Composer verwenden:
composer require paragonie/sodium_compat
Wenn Sie Composer nicht verwenden, laden Sie einen Release-Tarball herunter (der mit unserem öffentlichen GnuPG-Schlüssel signiert sein sollte), extrahieren Sie dessen Inhalt und fügen Sie dann unser autoload.php
-Skript in Ihr Projekt ein.
<?php
require_once " /path/to/sodium_compat/autoload.php " ;
Seit Version 1.3.0 enthalten die Sodium_compat-Versionen ein PHP-Archiv (.phar-Datei) und eine zugehörige GPG-Signatur. Laden Sie zunächst beide Dateien herunter und verifizieren Sie sie mit unserem öffentlichen GPG-Schlüssel, etwa so: