PHP Handbuch
Zurück |  | Nach vorne

# crypt

(PHP 3, PHP 4 )

crypt -- DES-Verschlüsselung eines Strings

## Beschreibung:

string crypt ( string str [, string salt])

crypt() verschlüsselt einen String unter Verwendung der Standard-DES-Verschlüsselungs-Methode von Unix. Die zu übergebenden Argumente sind der zu verschlüsselnde String und optional ein 2-Zeichen-Salt-String, der die Schlüsselbasis bildet. Lesen Sie die Man-Pages ihres Unix-Systems für mehr Informationen zu den Crypt-Funktionen.

Ist kein Salt-Argument angegeben, wird es von PHP nach dem Zufalls-Prinzip erzeugt.

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. Zur Installations-Zeit 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 existiert MD5. Dann wird PHP einen zufälligen MD5-Salt generieren. PHP erzeugt eine Konstante namens CRYPT_SALT_LENGTH. Diese besagt, ob ihr System ein reguläres 2-Zeichen Salt oder das längere 12-Zeichen MD5-Salt unterstützt.

Wenn Sie das gegebene Salt benutzen, sollten Sie beachten, dass dieser Wert nur einmal bestimmt wird. Rufen Sie diese Funktion nun rekursiv auf, beeinflusst das nicht nur das Ergebnis, sondern unter Umständen auch die Sicherheit.

Die Standard-DES-Verschlüsselung crypt() enthält das Salt als erste 2 Zeichen der Ausgabe.

Auf Systemen, wo die crypt()-Funktion meherere Verschlüsselungen 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 - Erweiterter DES-Schlüssel mit einem 9-Zeichen Salt

- CRYPT_MD5 - MD5-Schlüssel mit 12-Zeichen Salt, beginnend mit $1$

- CRYPT_BLOWFISH - Erweiterter DES-Schlüssel, 16-Zeichen Salt, beginnend mit $2$

Der veschlüsselte String kann nicht entschlüsselt werden, da crypt() eine Einweg-Verschlüsselung ist.

Siehe auch: md5().

Zurück | Zum Anfang | Nach vorne
crc32 | Nach oben | echo