patrickfroch / cryptography
Es handelt sich um eine Erweiterung für das Open Source CMS Contao, die es ermöglicht, Werte zu ver- und entschlüsseln.
Package info
github.com/patrickfroch/cryptography
Type:contao-bundle
pkg:composer/patrickfroch/cryptography
Requires
- php: ~8.1
- ext-openssl: *
- contao/core-bundle: ~4.13|^5.0
Requires (Dev)
- contao/test-case: ~4.13|^5.0
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^9.5|^12.0
- squizlabs/php_codesniffer: ^4.0
- symplify/easy-coding-standard: ^13.0
README
Beschreibung
Bei dieser Software handelt es sich um eine Erweiterung für das Open Source CMS Contao, mit der Werte ver- und entschlüsselt werden können.
Autor
Patrick Froch hallo@patrick-froch.de
Lizenz
Die Software wird unter LGPL veröffentlicht. Details sind in der Datei LICENSE zu finden.
Voraussetzungen
- php: ~8.1
- contao/core-bundle: ~4.13|^5.0
Installation
Die Installation geschieht über den ContaoManager. Einfach nach esit/cryptography suchen und installieren.
Aleternativ kann die Erweiterung mit folgendem Befehl über Composer installiert werden:
composer require esit/cryptography
Einrichtung
In die .env-Datei können zwei Werte eingetragen werden, das Passwort (CRYPTOGRAPHY_SECRECT) und die
Verschlüsselungsmethode (CRYPTOGRAPHY_CIPHER). Ein Beispiel sieht so aus:
CRYPTOGRAPHY_SECRECT="bhjRHnqCpgjqW3w94t34FjLnXCWvrhpJqsvN7VNfH9qHPKsm" CRYPTOGRAPHY_CIPHER="aes-256-cbc"
Werden die Werte nicht angegeben, müssen sie der Factory beim Erstellen des CryptographyHelper übergeben werden!
Verwendung
Der Helper kann einfach in eigene Klassen injected werden.
<?php MyClass { public function __construct(private CryptographyFactory $factory) { } public function myTest(): void { $value = 'Mein geheimer Teststring!'; // Verwendung der Werte aus der .env Datei. $helper = $factory->createCryptographyHelper(); $encrypted = $this->cryptoHelper->encrypt($value); $decrypted = $this->cryptoHelper->decrypt($encrypted); // Verwendung der angegebenen Werte. $helper = $factory->createCryptographyHelper('password', 'aes-256-cbc'); $encrypted = $this->cryptoHelper->encrypt($value); $decrypted = $this->cryptoHelper->decrypt($encrypted); // Verwendung eines abweichenden Passworts. $encrypted = $this->cryptoHelper->encrypt($value, 'newPassword'); $decrypted = $this->cryptoHelper->decrypt($encrypted, 'newPassword'); } }
Wird der CryptographyHelper direkt injected, müssen die Einstellunge in der .env Datei angegeben werden! Dieser Weg ist aber veraltet. Es dringend empfohlen, die Factory zu verwenden.
Getestete Versionen
Die Erweiterung wurde erfolgreich mit folgenden Kombinationen aus PHP und Contao getestet:
| Contao | ||||
|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ |