crypt

crypt -- DES-encrypt een string

Beschrijving

string crypt ( string str [, string salt])

crypt( ) encrypteert een string geburikmakend vande standaard Unix DES encryptie methode . Argumenten zijn de string die gecrypteerd moet worden en een optionele twee-karakter salt string om de encryptie op te baseren . Zie de Unix man page voor je crypt functie en meer informatie .

Als het salt argument niet wordt meegegeven zal de string willekeurig gegenereerd worden door PHP .

Sommige operating systems ondersteunen meer dan een type encryptie . Soms is zelfs de standaard DES encryptie vervangen door een MD5 gebaseerd encryptie algoritme . Het encryptie type wordt getriggerd door het salt argument . Op het moment van installeren bepaalt PHP de mogelijkheden van de crypt functie en zal salts accepteren voor andere encryptie types . Als er geen salt beschikbaar is zal PHP zelf een uit 2 karakters bestaande DES salt genereren , tenzij het default encryptie type op het systeem MD5 is , in dat geval zal een random MD5 compatibele salt gegenereerd worden . PHP maakt een constante aan genaamd CRYPT_SALT_LENGTH die je vertelt of een regulare 2-karakter salt of dat een 12-karakter MD5 van toepassing is .

In het geval je de meegegeven salt gebruikt , wees er dan van bewust dat de salt 1 keer gegenereerd wordt . Als je de functie recursief aanspreekt , kan dit gevolgen hebben voor de appearance en , tot op zekere hoogte , de veiligheid .

De standaard DES encryptie crypt( ) gebruikt de salt als de eerste 2 karakters van de output . Ook gebruikt het slechts de eerste acht karakters van str , dus langere strings die met dezelfde acht karakters beginnen zullen hetzelfde resultaat opleveren ( als hetzelfde salt wordt gebruikt ) .

Op systemen waar de crypt( ) functie meerdere encryptie types ondersteunt , de volgende constanten zijn gezet op waardes 0 of 1 , afhankelijk van het feit of het gegeven type beschikbaar is :

Opmerking : Er is geen decrypt functie , omdat crypt( ) gebruikmaakt van een one-way algoritme .

Voorbeeld 1 . crypt( ) voorbeelden

 
?php

 
$password

 
=

 
crypt(

 
"My1sTpassword")

 
;

 
#

 
salt

 
wordt

 
gegenereerd

 
#

 
Je

 
moet

 
de

 
het

 
gehele

 
resultaat

 
van

 
crypt

 
gebruiken

 
als

 
salt

 
om

 
een

 
#

 
wachtwoord

 
te

 
vergelijken

 
,

 
om

 
problemen

 
te

 
voorkomen

 
als

 
je

 
verschillende

 
#

 
hashing

 
algoritmen

 
gebruikt

 
.

 
(Zoals

 
hierbove

 
beschreven

 
,

 
gebruikt

 
een

 
#

 
standaard

 
DES-gebaseerde

 
wachtwoord

 
hashing

 
een

 
2-karakter

 
salt

 
,

 
maar

 
#

 
MD5-based

 
hashing

 
gebruikt

 
er

 
12

 
.

 
if

 
(crypt($user_input,$password

 
)

 
==

 
$password

 
)

 
{

 
echo

 
"Password

 
is

 
geverifieerd.

 
!"

 
;

 
}

 
?



Zie ook : md5( ) en de Mcrypt extensie .