In PHP ist die Crypt () -Funktion eine Funktion, die zum Verschlüsseln von Zeichenfolgen in Einweg verwendet wird, die hauptsächlich zur Verarbeitung von Kennworthashing verwendet werden. Diese Funktion wählt automatisch unterschiedliche Verschlüsselungsalgorithmen basierend auf dem bereitgestellten "Salz" -Werte aus, wodurch flexible Verschlüsselungsmethoden erreicht werden. Das Verständnis des Verschlüsselungsalgorithmus, der von Crypt () und seinen geltenden Szenarien unterstützt wird, können Entwicklern dabei helfen, im Sicherheitsdesign vernünftigere Entscheidungen zu treffen.
Wie man verwendet:
$hash = crypt('mypassword', 'rl');
veranschaulichen:
Dies ist eine der frühesten Verschlüsselungsmethoden. Es verwendet den Salzwert von zwei Zeichen und erzeugt einen 13 -Zeichen -Hash -Wert.
Anwendbare Szenarien:
Kompatibel mit alten Systemen.
Nicht für moderne Anwendungen empfohlen , da es weniger sicher und anfällig für Brute-Force-Angriffe ist.
Wie man verwendet:
$hash = crypt('mypassword', '_J9..rasm');
veranschaulichen:
Es löst den Algorithmus mit einem Salzwert aus, beginnend mit _ , sodass mehr Salzspiegel und Iterationen angegeben werden können.
Anwendbare Szenarien:
Auch für alte Systeme vorbereitet, aber etwas stärker als Standard DES.
Immer noch nicht für die Verwendung in neuen Projekten empfohlen .
Wie man verwendet:
$hash = crypt('mypassword', '$1$someSalt$');
veranschaulichen:
Wenn das Salz mit 1 $ $ beginnt, verwendet Crypt () den MD5 -Hashing -Algorithmus. Die Ausgabe ist 34 Zeichen lang.
Anwendbare Szenarien:
Umgebungen mit hohen Leistungsanforderungen, aber nicht sehr hohe Sicherheitsanforderungen.
Es wurde allmählich durch sicherere Algorithmen ersetzt und wird nicht für die Speicherung vertraulicher Informationen empfohlen.
Wie man verwendet:
$hash = crypt('mypassword', '$2y$10$usesomesillystringforsalt$');
veranschaulichen:
Salze beginnen mit 2 AA -$ , 2 Mrd. USD $ oder 2y $ $ werden unter Verwendung des Blowfish -Algorithmus (d. H. BCrypt) dargestellt. Die Zahl 10 ist ein Kostenfaktor, der die Rechenkomplexität angibt, und der Standardbereich beträgt normalerweise 4 bis 31.
Anwendbare Szenarien:
Empfohlen für die Verschlüsselung des Benutzerkennworts.
Es hat eine hohe Sicherheit, unterstützt die Anpassung der Kostenfaktor und kann effektiv widerstehen.
Wie man verwendet:
// SHA-256
$hash256 = crypt('mypassword', '$5$rounds=5000$mysalt$');
// SHA-512
$hash512 = crypt('mypassword', '$6$rounds=5000$mysalt$');
veranschaulichen:
Beginnend mit $ 5 $ bedeutet SHA-256, und beginnend mit 6 $ $ bedeutet SHA-512. Die Anzahl der Iterationen kann durch den Parameter der Runden eingestellt werden, um die Berechnungskosten zu erhöhen.
Anwendbare Szenarien:
Eine Situation, in der eine hohe Sicherheit erforderlich ist, ohne dass externe Bibliotheken eingeführt werden müssen.
Back-End-Verschlüsselungsverarbeitung mit relativ lockeren Leistungsanforderungen.
Wird für die Verschlüsselung der Benutzerkennwort in einigen Linux -Systemen verwendet.