esit/cryptography

Es handelt sich um eine Erweiterung für das Open Source CMS Contao, die es ermöglicht, Werte zu ver- und entschlüsseln.

1.0.9 2025-07-14 12:10 UTC

This package is auto-updated.

Last update: 2025-07-14 12:10:58 UTC


README

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.