Start · Sprachen · PHP · Referenz · mhash_count

mhash_count

Funktion

Gibt die höchste verfügbare Hash-ID der installierten mhash-Bibliothek zurück.

seit PHP 4.0.0 Kategorie: crypto

Signatur

mhash_count(): int

Beschreibung

mhash_count() liefert die höchste interne ID der unterstützten Hash-Algorithmen der mhash-Bibliothek. Da die IDs bei 0 beginnen, entspricht die Anzahl der verfügbaren Algorithmen dem Rückgabewert plus eins.

Die Funktion wird typischerweise in Schleifen eingesetzt, um alle verfügbaren Algorithmen der mhash-Extension zu enumerieren. Zusammen mit mhash_get_hash_name() lässt sich damit eine vollständige Liste aller unterstützten Hashverfahren erzeugen.

Hinweis: Die mhash-Funktionen sind seit PHP 5.3.0 als Wrapper über die Hash-Extension implementiert. Es empfiehlt sich, für neue Projekte stattdessen die moderne hash_algos()-Funktion zu verwenden, die unabhängig von der mhash-Extension alle unterstützten Algorithmen auflistet.

Rückgabewert

Typ
int
Beschreibung
Gibt die höchste Hash-ID (einen Integer-Wert) zurück. Die verfügbaren Algorithmen haben IDs von 0 bis einschließlich dieses Rückgabewerts.

Beispiele

Alle verfügbaren mhash-Algorithmen auflisten

<?php
$maxId = mhash_count();

echo "Höchste Hash-ID: $maxId" . PHP_EOL;
echo "Anzahl verfügbarer Algorithmen: " . ($maxId + 1) . PHP_EOL . PHP_EOL;

for ($i = 0; $i <= $maxId; $i++) {
    $name = mhash_get_hash_name($i);
    if ($name !== false) {
        echo "ID $i: $name" . PHP_EOL;
    }
}
Höchste Hash-ID: 9 Anzahl verfügbarer Algorithmen: 10 ID 0: CRC32 ID 1: MD5 ID 2: SHA1 ID 3: HAVAL256 ...

Vergleich mit hash_algos() als moderne Alternative

<?php
// Alte Methode via mhash
$mhashCount = mhash_count() + 1;
echo "mhash kennt $mhashCount Algorithmen." . PHP_EOL;

// Moderne Methode via Hash-Extension
$hashAlgos = hash_algos();
echo "hash_algos() kennt " . count($hashAlgos) . " Algorithmen." . PHP_EOL;
echo "Beispiele: " . implode(', ', array_slice($hashAlgos, 0, 5)) . PHP_EOL;
mhash kennt 10 Algorithmen. hash_algos() kennt 57 Algorithmen. Beispiele: md2, md4, md5, sha1, sha224

// Wichtig · Fallstricke

Deprecation: Die mhash-Extension gilt als veraltet. Seit PHP 5.3.0 ist sie als Kompatibilitäts-Wrapper über die hash-Extension implementiert. Für neue Projekte sollten stattdessen hash(), hash_hmac() und hash_algos() verwendet werden.

Die tatsächliche Anzahl der verfügbaren Algorithmen hängt von der PHP-Build-Konfiguration und der installierten mhash-Version ab. Der Rückgabewert kann daher zwischen verschiedenen Umgebungen variieren.