Aktueller Standort: Startseite> Funktionskategorien> crypt

crypt

Einweg-String-Hash
Name:crypt
Kategorie:Saite
Programmiersprache:php
Kurzbeschreibung:Einweg-String-Verschlüsselungsmethode (Hashing).

Definition und Verwendung

crypt() -Funktion gibt eine Zeichenfolge zurück, die mit dem DES-, Blowfish- oder MD5 -Algorithmus verschlüsselt ist.

Die Funktion verhält sich bei verschiedenen Betriebssystemen unterschiedlich, und einige Betriebssysteme unterstützen mehr als einen Algorithmusart. Während der Installation prüft PHP, welche Algorithmen verfügbar sind und welche Algorithmen verwendet werden.

Der spezifische Algorithmus hängt vom Format und der Länge des Salzparameters ab. Durch Erhöhen der Anzahl der von einer bestimmten Zeichenfolge unter Verwendung einer bestimmten Verschlüsselungsmethode erzeugten Zeichenfolgen kann Salz die Verschlüsselung sicherer machen.

Hier sind einige Konstanten, die mit crypt() -Funktion verwendet werden. Diese konstanten Werte werden zur Installationszeit durch PHP eingestellt.

Konstante:

[Crypt_Salt_length] Die Standardverschlüsselungslänge. Verwenden Sie die Standard -Des -Verschlüsselung mit Länge 2
[Crypt_std_des] Hash, das auf dem Standard des Algorithmus basiert, verwendet zwei Zeichen im Zeichen "./0-9a-za-z" als Salzwert. Die Verwendung illegaler Zeichen in Salzwerten führt dazu, dass Crypt () fehlschlägt.
[Crypt_ext_des] Erweitertes Hashing basierend auf Des Algorithmus. Eine Zeichenfolge mit einem Salzwert von 9 Zeichen besteht aus 1 Unterstrich, gefolgt von einem 4-Byte-Zyklus und einem 4-Byte-Salzwert. Sie werden in druckbare Zeichen codiert, jeder Charakter hat 6 Bits, wobei die am wenigsten signifikanten Bits bevorzugt sind. 0 bis 63 werden als "./0-9a-za-z" codiert. Die Verwendung illegaler Zeichen in Salzwerten führt dazu, dass Crypt () fehlschlägt.
[Crypt_md5] Der MD5-Hash verwendet einen String-String-Salzwert mit 12 $.
[Crypt_blowfish] Der Blowfish-Algorithmus verwendet den folgenden Salzwert: "$ 2a $", ein Zwei-Bit-Kostenparameter, "$" und eine 64-Bit-Zeichenfolge, die aus Zeichen in "./0-9a-za-z" besteht. Durch die Verwendung von Zeichen außerhalb dieses Bereichs in einem Salzwert führt Crypt () eine leere Zeichenfolge zurück. Der Zwei-Bit-Kostenparameter ist ein Logarithmus mit der Anzahl der Schleifen an der Basis 2, und sein Bereich beträgt 04-31. Das Überschreiten dieses Bereichs führt dazu, dass Crypt () fehlschlägt.
Crypt_sha256 Der SHA-256-Algorithmus hasste unter Verwendung eines SAIL-SAIL-SAIL-Wertes von 16-Charakter, beginnend mit $ 5 $. Wenn die Salzwertzeichenfolge mit "Runden = <n> $" beginnt, wird der numerische Wert von n verwendet, um die Anzahl der Ausführungen der Hash -Schleife anzugeben, die dem Kostenparameter des Blowfish -Algorithmus ähnelt. Die Standardzahl der Schleifen beträgt 5000, das Minimum beträgt 1000 und das Maximum 999.999.999. N außerhalb dieses Bereichs wird zum nächsten Wert umgewandelt.
Crypt_sha512 Der SHA-512-Algorithmus verwendet einen String-String-Salzwert von 16 $ für Hashing. Wenn die Salzwertzeichenfolge mit "Runden = <n> $" beginnt, wird der numerische Wert von n verwendet, um die Anzahl der Ausführungen der Hash -Schleife anzugeben, die dem Kostenparameter des Blowfish -Algorithmus ähnelt. Die Standardzahl der Schleifen beträgt 5000, das Minimum beträgt 1000 und das Maximum 999.999.999. N außerhalb dieses Bereichs wird zum nächsten Wert umgewandelt.

Auf Systemen, in denen diese Funktion mehrere Algorithmen unterstützt, wird sie auf "1" eingestellt, da sie ansonsten auf "0" eingestellt ist.

Hinweis: Es gibt keine entsprechende Entschlüsselungsfunktion. crypt() -Funktion verwendet einen Einweg-Algorithmus.

Beispiel

In diesem Beispiel testen wir verschiedene Algorithmen:

 <? Php
// Salz mit zwei Charakter
if ( crypt_std_des == 1 )
{
Echo "Standard Des:" . Krypta ( 'etwas' , 'st' ) . "\ n <br>" ;
}
anders
{
echo "Standard des nicht unterstützt. \ n <br>" ;
}

// 4 Zeichen Salz
if ( crypt_ext_des == 1 )
{
Echo "erweitert Des:" . Krypta ( 'etwas' , '_S4..some' ) . "\ n <br>" ;
}
anders
{
echo "erweiterte Des nicht unterstützt. \ n <br>" ;
}

// 12 Zeichen beginnend mit $ 1 $ $
if ( crypt_md5 == 1 )
{
Echo "Md5:" . Krypta ( "etwas" , "$ 1 $ $ the $" ) . "\ n <br>" ;
}
anders
{
echo "md5 nicht unterstützt. \ n <br>" ;
}

// Salz beginnend mit $ 2A $. Kostenparameter der Doppelzahlen: 09. 22 Zeichen
if ( crypt_blowfish == 1 )
{
Echo "Blowfish:" . Krypta ( 'etwas' , '$ 2A $ 09 $ $ AnexampestringForsalt $' ) . "\ n <br>" ;
}
anders
{
echo "Blowfish des nicht unterstützt. \ n <br>" ;
}

// 16-Charakter-Salz beginnend mit $ 5 $. Die Standardzahl der Umfangszahlen beträgt 5000.
if ( crypt_sha256 == 1 )
{
Echo "SHA-256:" . Crypt ( 'etwas' , '$ 5 $ Rounds = 5000 $ AnexampestringForsalt $' ) . "\ n <br>" ; }
anders
{
echo "SHA-256 nicht unterstützt. \ n <br>" ;
}

// 16-Charakter-Salz beginnend mit $ 5 $. Die Standardzahl der Umfangszahlen beträgt 5000.
if ( crypt_sha512 == 1 )
{
Echo "SHA-512:" . Crypt ( 'etwas' , '$ 6 $ Rounds = 5000 $ AnexamplestringForSalt $' ) ;
}
anders
{
echo "sha-512 nicht unterstützt." ;
}
?>

Die Ausgabe des obigen Codes (abhängig vom Betriebssystem):

 Standard DES: stqadd7zlbbyi
Erweiterte Des: _s4..someqxidlbptuu6
MD5: $ 1 $ etwas $ 4nzkruly6r7k7.rdeoz0w.
Blowfish: $ 2a $ 09 $ AnexampestringForSalelouKejcjrlexmf1671qw3kHL49R3DFU
SHA-256: $ 5 $ Runden = 5000 $ Anexampestringf $ kirctqsxo2wrpg5AG/HS4JTI4PMONKQUGWFXLVY9VU9
SHA-512: $ 6 $ Runden = 5000 $ Anexampestringf $ oo0Skoadufxkqxjpwzo05wgrhg0dhuapbaou//
onbgpceklf/7ovm5wn6an0W2VWUGA0O24OLZGQPP1XKI6llQ0.

Grammatik

 Krypta ( str , Salz )
Parameter beschreiben
str Erforderlich. Gibt die zu codierende Zeichenfolge an.
Salz Optional. Wird verwendet, um die Anzahl der codierten Zeichen zu erhöhen, um die Codierung sicherer zu machen. Wenn der Salzparameter nicht bereitgestellt wird, erzeugt PHP jedes Mal, wenn die Funktion aufgerufen wird, zufällig eine.
Ähnliche Funktionen
Beliebte Artikel