Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erklärung der grundlegenden Verwendung von PHP Crypt () -Funktion

Detaillierte Erklärung der grundlegenden Verwendung von PHP Crypt () -Funktion

M66 2025-05-20

Bei der Entwicklung von Web ist die Kennwortverschlüsselung ein wichtiger Link zum Schutz der Benutzerdatensicherheit. PHP bietet eine Vielzahl von Verschlüsselungsmethoden, bei denen die Crypt () -Funktion ein grundlegendes, aber sehr nützliches Verschlüsselungswerkzeug ist. Es kann Saiten in einem Weg verschlüsseln und wird häufig für das Passworthashing verwendet. In diesem Artikel wird die Verwendung von Crypt () -Funktion, grundlegende Syntax, unterschiedlichen Verschlüsselungsalgorithmen sowie Beispiele und Vorsichtsmaßnahmen in praktischen Anwendungen ausführlich vorgestellt.

1. Was ist die Crypt () -Funktion?

Crypt () ist eine integrierte Verschlüsselungsfunktion in PHP, die zum Verschlüsseln von Zeichenfolgen verwendet wird. Es verwendet einen Einweg-Verschlüsselungsalgorithmus, was bedeutet, dass das Verschlüsselungsergebnis irreversibel ist, was sehr geeignet ist, sensible Daten wie Passwörter zu speichern.

Während PHP auch moderne Verschlüsselungsmethoden wie password_hash () und hash () bereitstellt, hilft es den Entwicklern, die Grundlagen der Verschlüsselung zu meistern, zu verstehen, wie Crypt () funktioniert.

2. Syntax der Crypt () -Funktion

 string crypt ( string $string [, string $salt ] )
  • $ String : Die Originalzeichenfolge, die verschlüsselt werden muss.

  • $ salz : Optionaler Parameter, Angabe des für die Verschlüsselung verwendeten "Salzwert". Unterschiedliche Salzwerte und Algorithmen beeinflussen das endgültige Verschlüsselungsergebnis.

3. Typ Verschlüsselungsalgorithmustyp

Die Crypt () -Funktion unterstützt mehrere Verschlüsselungsalgorithmen, abhängig vom von Ihnen bereitgestellten Salzwertformat. Im Folgenden finden Sie einige häufig verwendete Salzwertformate und ihre entsprechenden Algorithmen:

  1. DES (Standard)

     crypt('mypassword', 'rl');
    
  2. MD5

     crypt('mypassword', '$1$usesomesalt$');
    
  3. Blowfish

     crypt('mypassword', '$2y$10$abcdefghijklmnopqrstuv');
    
  4. SHA-256

     crypt('mypassword', '$5$rounds=5000$anexamplestringforsalt$');
    
  5. SHA-512

     crypt('mypassword', '$6$rounds=5000$anexamplestringforsalt$');
    

4. Beispiel: Verwenden Sie Blowfish, um Passwörter zu verschlüsseln

 <?php
$password = 'secure123';
$salt = '$2y$10$usesomesillystringforex$';
$hashed = crypt($password, $salt);

echo $hashed;
?>

Das Ausgabeergebnis ist eine Reihe verschlüsselter Zeichenfolgen. Selbst wenn es erneut ausgeführt wird, ist das Ergebnis das gleiche, was für den Kennwortvergleich geeignet ist, wenn sich der Benutzer anmeldet und verifys.

5. Wie überprüfen Sie das Passwort?

Bei der Überprüfung des Kennworts müssen Sie das vom Benutzer eingegebene Kennwort mit demselben Salzwert erneut entschlüsseln und dann mit dem in der Datenbank gespeicherten Hash-Wert vergleichen:

 <?php
$input_password = 'secure123';
$stored_hash = '$2y$10$usesomesillystringforex$JeW8SuJSvSpEtBCUJ8JXoeK1G5Lmbl9Hz7tpIdAd4wczP8t9UO1nO';

if (crypt($input_password, $stored_hash) === $stored_hash) {
    echo 'Passwortüberprüfung erfolgreich';
} else {
    echo 'Fehlerkennwort';
}
?>

6. Dinge zu beachten

  • Bei Verwendung von Crypt () wird empfohlen, Blowfish oder höhere Sicherheitsalgorithmen zu wählen.

  • Crypt () erzeugt nicht automatisch Salzwerte, und Entwickler müssen sie manuell weitergeben.

  • PHP 5.3 hat die Unterstützung für Algorithmen verbessert, es wird jedoch empfohlen, in späteren Versionen password_hash () anstelle von crypt () zu verwenden.

7. In Kombination mit den tatsächlichen Bedingungen: Wird für die Registrierung der Benutzer verwendet

Wenn sich ein Benutzer registriert, kann ein verschlüsseltes Kennwort generiert und in der Datenbank gespeichert werden:

 <?php
$password = 'mypassword';
$salt = '$2y$10$' . substr(strtr(base64_encode(random_bytes(16)), '+', '.'), 0, 22);
$hash = crypt($password, $salt);

// Wille $hash Speichern Sie in der Datenbank
echo 'Erfolgreich registriert,Das Verschlüsselungskennwort ist:' . $hash;
?>

8. Zusammenfassung

Crypt () ist eine leistungsstarke Verschlüsselungsfunktion, die von PHP bereitgestellt wird. Durch die Bereitstellung verschiedener Salzwertformate können mehrere Verschlüsselungsalgorithmen zum Verschlüsseln von Zeichenfolgen verwendet werden. Obwohl es empfohlen wird, Funktionen wie password_hash () zu verwenden, um mit der Kennwortsicherheit in der modernen Entwicklung umzugehen, kann das Verständnis des Mechanismus von Crypt () dazu beitragen, eine gute Grundlage für die Sicherheitsentwicklung zu schaffen.

Crypt () spielt immer noch eine wichtige Rolle, wenn Sie einen benutzerdefinierten Algorithmus benötigen oder mit alten Projekten kompatibel sein müssen. Unabhängig davon, ob es sich um ein Anmeldesystem handelt, sensible Daten speichert oder Authentifizierungsmechanismen verarbeitet, ist die rationale Verwendung von Verschlüsselungsfunktionen immer ein unverzichtbarer Bestandteil der Sicherheit der Website.