Aktueller Standort: Startseite> Neueste Artikel> SHA-256- und SHA-512-Algorithmen mit Crypt () ($ 5 $ und 6 $ $)

SHA-256- und SHA-512-Algorithmen mit Crypt () ($ 5 $ und 6 $ $)

M66 2025-05-31

In PHP ist die Crypt () -Funktion ein leistungsstarkes kryptografisches Verschlüsselungsinstrument, das eine Vielzahl von Verschlüsselungsalgorithmen unterstützt, einschließlich Hash-Verschlüsselung basierend auf SHA-256 und SHA-512. Diese beiden Algorithmen werden durch Präfixe von $ 5 $ und $ 6 $ in der Crypt () -Funktion unterschieden. In diesem Artikel wird ausführlich erläutert, wie diese beiden Methoden zum Verschlüsseln von Kennwörtern und zur Bereitstellung des entsprechenden Beispielcodes verwendet werden.

Einführung in die Krypta () -Funktion

Crypt () ist eine Funktion, die zur Einwegverschlüsselung in PHP verwendet wird und normalerweise zum Hashing von Passwörtern verwendet wird. Bei der Verwendung können Sie den Verschlüsselungsalgorithmus und die Verschlüsselungsergebnisse steuern, indem Sie "Salz" angeben.

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

  • $ salt : Der Verschlüsselungsalgorithmus und seine Konfiguration, das Format variiert vom Algorithmus zum Algorithmus.

SHA-256 Verschlüsselung ($ 5 $)

SHA-256 ist eine häufig verwendete kryptografische Hash-Funktion, die durch das $ 5 $ Präfix in der Crypt () -Funktion aktiviert ist. Sie können optional "Runden" und benutzerdefinierte Salzwerte hinzufügen.

 $password = 'mypassword';
$salt = '$5$rounds=5000$mysaltvalue$';
$hash = crypt($password, $salt);
echo $hash;

veranschaulichen:

  • $ 5 $ Gibt die Verwendung von SHA-256 an.

  • Runden = 5000 Stellen Sie die Anzahl der Verschlüsselungsrunden fest (optional).

  • MysaltValue ist eine Salzwertzeichenfolge, die angepasst werden kann.

  • Die Verschlüsselungsergebnisse beginnen mit 5 USD für die einfache Identifizierung.

Die Beispielausgabe könnte sein:

 $5$rounds=5000$mysaltvalue$5O2dlyLbMFx.kPQzMt4HZG4lDHzs9DGx85xuRSkjRA/

SHA-512 Verschlüsselung ($ 6 $)

In ähnlicher Weise kann SHA-512 auch über Crypt () implementiert werden. Ändern Sie einfach das Präfix auf 6 USD .

 $password = 'mypassword';
$salt = '$6$rounds=10000$customsalt$';
$hash = crypt($password, $salt);
echo $hash;

veranschaulichen:

  • $ 6 $ Aktivieren Sie die SHA-512-Verschlüsselung.

  • Runden = 10000 zeigt an, dass 10000 Verschlüsselungs -Iterationen durchgeführt werden.

  • CustomSalt ist Ihr Salzwert.

Die Beispielausgabe könnte sein:

 $6$rounds=10000$customsalt$WXnQmvLQu.wNcB3VJmfYB/mURR3p8ddmdvYqTbWn1l6gBBR4vlmMHI8LtkYmK5I24T2MGk7pDODDZAxU2ueCd0

Erzeugen Sie zufällige Salzwerte

Aus Sicherheitsgründen sollte der Salzwert so zufällig wie möglich sein. Hier ist eine einfache Funktion, um Salzwerte zu erzeugen:

 function generateSalt($length = 16) {
    return bin2hex(random_bytes($length / 2));
}

$password = 'mypassword';
$salt = '$6$rounds=10000$' . generateSalt() . '$';
$hash = crypt($password, $salt);
echo $hash;

Anwendungsszenarien und Sicherheitstipps

  1. Speicherkennwortspeicher : Es wird nicht empfohlen, das Benutzerkennwort im Klartext zu speichern. Die Verwendung von Crypt () mit einem sicheren Salzwert und einer geeigneten Anzahl von Runden ist ein sicherer Weg.

  2. Vergleichen Sie Kennwörter : Bei der Überprüfung von Kennwörtern sollte die Benutzereingabe mit demselben Salzwert neu verhandelt werden und dann mit dem gespeicherten Hash-Wert verglichen werden.

  3. HTTPS-Übertragung : Stellen Sie sicher, dass verschlüsselte Daten durch sichere Protokolle wie https://m66.net übertragen werden, um Man-in-the-Middle-Angriffe zu vermeiden.

Zusammenfassung

In diesem Artikel können Sie PHPs Crypt () -Funktion von PHP verwenden, um 5 $ und $ 6 $ zu kombinieren, um eine sichere Verschlüsselung basierend auf SHA-256 und SHA-512 zu implementieren. Diese Methode eignet sich für mehrere Szenarien wie die Anmeldemauthentifizierung und den Schutz von Benutzerinformationen. Die Kombination der starken Salzwertstrategie und der hochrunden -Zahleneinstellungen kann die Datensicherheit erheblich verbessern.