Zum Inhalt springen

crc32()

Die Funktion crc32() wird verwendet, um eine zyklische Redundanzprüfung (CRC) eines Strings zu berechnen. Die Syntax der Funktion crc32() lautet wie folgt:

PHP-Syntax von crc32()

php
int crc32 ( string $str )

Die Funktion erwartet einen Parameter: den zu analysierenden String ($str). Die Funktion crc32() gibt eine vorzeichenlose 32-Bit-Ganzzahl zurück, die die CRC-Prüfsumme des Strings darstellt. (Hinweis: Auf 32-Bit-Systemen kann sie eine vorzeichenbehaftete Ganzzahl zurückgeben. Verwenden Sie sprintf('%u', crc32($str)), um ein konsistentes vorzeichenloses Ergebnis plattformübergreifend sicherzustellen.)

Hier ist ein Beispiel für die Verwendung der Funktion crc32():

PHP-Beispiel für crc32()

php
<?php
$str = "Hello, World!";
$crc = sprintf('%u', crc32($str));
echo $crc;
?>

In diesem Beispiel haben wir einen String, dessen CRC-Prüfsumme wir berechnen möchten. Wir übergeben den String an die Funktion crc32(), die die CRC-Prüfsumme als vorzeichenlose 32-Bit-Ganzzahl zurückgibt.

Die Ausgabe dieses Codes lautet:

console
4011902336

Wie Sie sehen können, hat die Funktion crc32() die CRC-Prüfsumme des Strings zurückgegeben.

Hier ist ein weiteres Beispiel dafür, wie Sie die Funktion crc32() zur Überprüfung der Integrität einer Datei verwenden können:

So verwenden Sie PHP crc32()?

php
<?php
$filename = "file_to_check.txt";
$expected_crc = 123456789;
$crc = crc32(file_get_contents($filename));
if ($crc === $expected_crc) {
    echo "The file has not been corrupted.";
} else {
    echo "The file may have been corrupted.";
}
?>

In diesem Beispiel haben wir eine Datei, deren Integrität wir überprüfen möchten. Wir berechnen die CRC-Prüfsumme des Dateiinhalts mit der Funktion crc32() und vergleichen sie mit einer erwarteten CRC-Prüfsumme. Wenn die berechnete CRC-Prüfsumme mit der erwarteten übereinstimmt, gehen wir davon aus, dass die Datei nicht beschädigt wurde. Hinweis: Wenn $expected_crc von einem Hex-String oder einer externen Quelle stammt, konvertieren Sie ihn vor der Verwendung in eine Ganzzahl (z. B. (int) hexdec($expected_crc)).

Wichtige Hinweise:

  • CRC-32 ist kryptografisch nicht sicher. Es sollte nur zur grundlegenden Fehlererkennung verwendet werden, nicht für Sicherheits- oder Authentifizierungszwecke.
  • Es ist üblich, das Ergebnis zur besseren Lesbarkeit und standardisierten Formatierung in einen Hexadezimal-String umzuwandeln, z. B. mit sprintf('%08X', crc32($str)).
  • Für moderne Anwendungen sollten Sie stattdessen hash_file() oder hash() (z. B. SHA-256) in Betracht ziehen, da CRC-32 für neue Projekte kaum noch verwendet wird.

Die Funktion crc32() ist ein nützliches Werkzeug zum Berechnen von zyklischen Redundanzprüfsummen für Strings und zur Überprüfung der Integrität von Daten oder Dateien. Sie kann dazu beitragen, Ihren Code vielseitiger und flexibler zu gestalten, wenn Sie mit Datenintegrität arbeiten oder die Integrität einer Datei oder Nachricht überprüfen. Durch die Beherrschung dieser Funktion können Sie zu einem kompetenteren PHP-Entwickler werden.

Wir hoffen, dass dieser Artikel Ihnen geholfen hat, die Funktion crc32() in PHP zu verstehen. Wenn Sie Fragen oder Anmerkungen haben, kontaktieren Sie uns gerne.

Praxis

Welche Funktion hat die crc32()-Funktion in PHP?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.