Skip to content

eS-IT/cryptography

Repository files navigation

Cryptography

PHP >= 8.0 Contao >= 4.9 Tested with Contao 4.9 | 4.13 | 5.1 PHPStan Level 9

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

e@sy Solutions IT: Patrick Froch info@easySolutionsIT.de

Lizenz

Die Software wird unter LGPL veröffentlicht. Details sind in der Datei LICENSE zu finden.

Voraussetzungen

  • php: ~8.0
  • contao/core-bundle: ~4.9|^5.1

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 geraten, die Factory zu verwenden.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published