Start · Sprachen · PHP · Referenz · mcrypt_enc_get_algorithms_name

mcrypt_enc_get_algorithms_name

Funktion

Gibt den Namen des Verschlüsselungsalgorithmus zurück, der in einem geöffneten mcrypt-Deskriptor verwendet wird.

seit PHP 4.0.2 Kategorie: crypto

Signatur

mcrypt_enc_get_algorithms_name(resource $td): string

Beschreibung

mcrypt_enc_get_algorithms_name() liefert den Namen des Algorithmus, der dem übergebenen mcrypt-Verschlüsselungsdeskriptor zugeordnet ist. Der Deskriptor muss zuvor mit mcrypt_module_open() geöffnet worden sein.

Die Funktion ist nützlich, wenn man zur Laufzeit überprüfen möchte, welcher Algorithmus tatsächlich hinter einem Deskriptor steckt – etwa beim Debuggen oder beim Loggen von Kryptographie-Operationen. Der zurückgegebene Name entspricht dem Algorithmusnamen so, wie er von der zugrundeliegenden libmcrypt-Bibliothek definiert ist (z. B. RIJNDAEL-128, BLOWFISH oder TWOFISH).

Die mcrypt-Erweiterung wurde in PHP 7.1 als veraltet markiert und in PHP 7.2 vollständig entfernt. Für neuen Code sollte stattdessen openssl_encrypt() / openssl_decrypt() oder die Sodium-Erweiterung verwendet werden.

Parameter

Name Typ Default Beschreibung
$td Pflicht resource Ein mcrypt-Verschlüsselungsdeskriptor, der zuvor mit mcrypt_module_open() geöffnet wurde.

Rückgabewert

Typ
string
Beschreibung
Gibt den Namen des Algorithmus als Zeichenkette zurück, z. B. "RIJNDAEL-128" oder "BLOWFISH". Der Name stammt direkt aus der libmcrypt-Bibliothek.

Beispiele

Algorithmusnamen eines geöffneten Deskriptors auslesen

<?php
// Verschlüsselungsdeskriptor öffnen
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');

// Name des Algorithmus ermitteln
$name = mcrypt_enc_get_algorithms_name($td);
echo 'Algorithmus: ' . $name . PHP_EOL;

// Deskriptor schließen
mcrypt_module_close($td);
?>
Algorithmus: RIJNDAEL-128

Algorithmusnamen mehrerer Deskriptoren vergleichen

<?php
$algorithms = [
    MCRYPT_BLOWFISH,
    MCRYPT_TWOFISH,
    MCRYPT_RIJNDAEL_256,
];

foreach ($algorithms as $algo) {
    $td = mcrypt_module_open($algo, '', MCRYPT_MODE_ECB, '');
    echo 'Geöffneter Algorithmus: ' . mcrypt_enc_get_algorithms_name($td) . PHP_EOL;
    mcrypt_module_close($td);
}
?>
Geöffneter Algorithmus: BLOWFISH Geöffneter Algorithmus: TWOFISH Geöffneter Algorithmus: RIJNDAEL-256

// Wichtig · Fallstricke

Veraltet und entfernt: Die gesamte mcrypt-Erweiterung wurde in PHP 7.1 als veraltet (deprecated) markiert und in PHP 7.2 vollständig aus dem PHP-Kern entfernt. mcrypt_enc_get_algorithms_name() steht in modernen PHP-Versionen nicht mehr zur Verfügung.

Für neue Projekte sollten ausschließlich openssl_encrypt() / openssl_decrypt() oder die Sodium-Erweiterung (sodium_crypto_secretbox() etc.) eingesetzt werden, da diese aktiv gepflegt, sicherer und wesentlich leistungsfähiger sind.

Die Funktion wirft keinen Fehler, wenn ein ungültiger Deskriptor übergeben wird — das Ergebnis ist in diesem Fall undefiniert. Stets sicherstellen, dass mcrypt_module_open() erfolgreich war, bevor der Deskriptor weiterverwendet wird.