cryptEinweg-String-Verschlüsselung (Hashbildung)
&reftitle.description;
stringcryptstringstrstringsaltcrypt gibt einen Hash-String zurück, der unter
Verwendung des DES-basierenden Algorithmus Unix-Standard-Verschlüsselungsalgorithmus
erstellt wurde. Dieser Algorithmus muss auf dem System verfügbar sein.
Einige Betriebssystem unterstützen mehr als eine Methode zur
Verschlüsselung. So wird manchmal der DES- durch einen
MD5-Algorithmus ersetzt. Der verwendete Schlüssel wird durch das
Salt-Argument bestimmt. Zum Installationszeitpunkt untersucht PHP die
vorhandenen Möglichkeiten und wird, abhängig vom Ergebnis dieser
Prüfung, auch andere Schlüssel-Typen zulassen. Wird kein Salt
unterstützt, erzeugt PHP per Voreinstellung einen 2-Zeichen
DES-Salt, es sei denn, auf ihrem System ist MD5 der Standardverschlüsselungstyp.
In diesem Fall wird PHP einen zufälligen MD5-kompatiblen Salt generieren.
PHP setzt eine Konstante namens CRYPT_SALT_LENGTH,
die Ihnen sagt, ob ihr System einen regulären 2-Zeichen-Salt oder den
längeren 12-Zeichen-Salt unterstützt.
Die Standard-DES-Verschlüsselung crypt
enthält den Salt als erste 2 Zeichen der Ausgabe. Ebenso werden nur die ersten
acht Zeichen von str berücksichtigt; verwenden Sie also
einen längeren String, der mit den gleichen 8 Buchstaben beginnt, so erhalten
Sie denselben Rückgabewert (sofern Sie ebenfalls den gleichen Salt nutzen).
Auf Systemen, wo die crypt()-Funktion mehrere Verschlüsselungsarten
unterstützt, werden die folgenden Konstanten auf 0 oder 1
gesetzt, je nachdem, ob der entsprechende Typ verfügbar ist:
CRYPT_STD_DES - Standard DES-Schlüssel mit 2-Zeichen-Salt
CRYPT_EXT_DES - Erweiterte DES-basierte Verschlüsselung
mit einem 9-Zeichen-Salt
CRYPT_MD5 - MD5-Verschlüsselung mit 12-Zeichen-Salt,
beginnend mit $1$
CRYPT_BLOWFISH - Blowfish-Verschlüsselung mit
16-Zeichen-Salt, beginnend mit $2$ oder $2a$
Seit PHP 5.3.0 enthält PHP eine eigene Implementation und verwendet diese,
wenn das System einen oder mehrere der Algorithmen nicht unterstützt.
&reftitle.parameters;
str
Die zu verschlüsselnde Zeichenkette.
salt
Ein optionaler Salt-String, der die Schlüsselbasis bildet. Sofern nicht
angegeben, wird von PHP ein zufälliger Wert bei jedem Aufruf der Funktion
generiert.
Wenn Sie das gegebene Salt benutzen, sollten Sie beachten, dass
dieser Wert nur einmal bestimmt wird. Rufen Sie diese Funktion nun
mehrmals auf, beeinträchtigt das nicht nur das Ergebnis, sondern
unter Umständen auch die Sicherheit.
&reftitle.returnvalues;
Gibt die verschlüsselte Zeichenkette zurück.
&reftitle.changelog;
&Version;&Description;5.3.0
PHP enthält jetzt eine eigene Implementation der MD5-Crypt, Standard DES,
Extended DES und des Blowfish-Algorithmus und verwendet diese, wenn das
System eine oder mehrere der Algorithmen nicht unterstützt.
&reftitle.examples;
crypt-Beispiele
]]>
Verwendung von crypt für htpasswd
]]>
Verwendung von crypt mit verschiedenen Verschlüsselungsarten
]]>
&example.outputs.similar;
&reftitle.notes;
Es existiert keine decrypt Funktion, da crypt
eine Einweg-Verschlüsselung ist.
&reftitle.seealso;
md5Die Mcrypt-ErweiterungLesen Sie die Man-Pages ihres Unix-Systems, wenn Sie weitere
Informationen zu Crypt benötigen.