Cum se utilizează funcția crypt() în PHP

Cum Se Utilizeaza Functia Crypt In Php



The criptă() funcția în PHP este un instrument util pentru criptografie, folosit pentru a crea un hash al șirului dat folosind algoritmi de hashing precum Standard DES, Extended DES, MD5, Blowfish, SHA-256 și SHA-512. Această funcție este utilizată pentru hashing unidirecțional și criptarea șirurilor. Este nevoie de două argumente: șirul de hashing și o valoare opțională de sare, care este folosită pentru a adăuga complexitate procesului de hashing și pentru a-l face mai sigur.

Pe mai multe sisteme de operare, această funcție se comportă diferit. În timpul instalării, PHP examinează algoritmii disponibili și recomandați. Această funcție este inclusă în PHP versiunea 4 și ulterioară și acceptă un parametru obligatoriu și unul opțional.

Sintaxă

O sintaxă simplă urmată de criptă() functia este data mai jos:









criptă ( $str , $sare )

Funcția acceptă doi parametri:



  • $str: Acest parametru este un șir pe care doriți să-l criptați. Acest șir poate fi trunchiat în timpul generării hash, ceea ce înseamnă că nu va lua în considerare întregul șir în funcție de tipul hash.
  • $sare: Acest parametru este utilizat pentru selectarea metodei de hashing.

Această funcție va returna un șir criptat.



Cum se utilizează funcția crypt() în PHP?

The criptă() funcția în PHP poate fi utilizată cu diferiți algoritmi de hashing criptografic pentru a cripta un șir; iată câteva exemple de utilizare criptă() cu diferiți algoritmi de hashing:





Să explicăm aceste metode în detaliu.

1: se utilizează CRYPT_STD_DES

The CRYPT_STD_DES este unul dintre algoritmii de hashing acceptați de criptă() funcție în PHP care utilizează DES standard (Standard de criptare a datelor) algoritm de criptare. Atunci când se utilizează CRYPT_STD_DES , trebuie să furnizați o valoare de sare de două caractere ca al doilea argument pentru criptă() funcţie. Valoarea de sare specifică variația cheii și complexitatea procesului de criptare.



De exemplu:



dacă ( CRYPT_STD_DES == 1 ) {

ecou „Standard DES:” . criptă ( „Bine ați venit la linuxhint” , 'str' ) . ' \n ' ;

} altfel {

ecou „Nu acceptați DES standard. \n ' ;

}

?>

2: se utilizează CRYPT_EXT_DES

The CRYPT_EXT_DES este un alt algoritm de hashing suportat de criptă() funcția care utilizează DES extins (Standard de criptare a datelor) algoritm de criptare. DES extins este o extensie a algoritmului DES original, oferind un spațiu de cheie mai mare și securitate îmbunătățită.

A folosi CRYPT_EXT_DES , trebuie să furnizați o valoare a sării care începe cu _J9 urmate de caractere suplimentare.

De exemplu:



dacă ( CRYPT_EXT_DES == 1 ) {

ecou 'DES extins: ' . criptă ( „Bine ați venit la linuxhint” , '_J9..dutta' ) . ' \n ' ;

} altfel {

ecou „Nu acceptați DES extins. \n ' ;

}

?>

3: Folosind CRYPT_MD5

The CRYPT_MD5 este unul dintre algoritmii de hashing acceptați de criptă() funcție în PHP care utilizează MD5 (Message Digest Algorithm 5 produce o valoare hash de 128 de biți (16 octeți). ) algoritm de criptare.

A folosi CRYPT_MD5 , trebuie să furnizați o valoare a sării care începe cu $1$ urmate de unele personaje.

De exemplu:



dacă ( CRYPT_MD5 == 1 ) {

ecou 'MD5: ' . criptă ( „Bine ați venit la linuxhint” , „$1$trying$” ) . ' \n ' ;

} altfel {

ecou „Nu acceptați MD5. \n ' ;

}

?>

4: Folosind CRYPT_BLOWFISH

The CRYPT_BLOWFISH este un algoritm de hashing recomandat pe scară largă, suportat de criptă() funcție în PHP care utilizează algoritmul Blowfish pentru criptare. Blowfish este un cifru bloc cu cheie simetrică, cunoscut pentru securitatea sa puternică. A folosi CRYPT_BLOWFISH , trebuie să furnizați o valoare a sării, care începe cu $2y$ sau $2a$ , urmat de un parametru de cost din două cifre și apoi de valoarea reală a sării.

De exemplu:



dacă ( CRYPT_BLOWFISH == 1 ) {

ecou 'Blowfish:' .

criptă ( „Bine ați venit la linuxhint” , „$2y$12$mkstringexforsaltparam” ) .

' \n ' ;

} altfel {

ecou „Nu sprijiniți Blowfish. \n ' ;

}

?>

5: se utilizează CRYPT_SHA256

Un alt algoritm de hashing suportat de criptă() funcția este CRYPT_SHA256 care utilizează algoritmul SHA-256 (produce o valoare hash de 256 de biți (32 de octeți)) pentru criptare. A folosi CRYPT_SHA256 , trebuie să furnizați o valoare a sării, care începe cu $5$ , urmat de un parametru de cost din două cifre și apoi de valoarea reală a sării

De exemplu:



dacă ( CRYPT_SHA256 == 1 ) {

ecou 'SHA-256:' .

criptă ( „Bine ați venit la linuxhint” , „$5$mkstringexforsaltparam$” ) .

' \n ' ;

} altfel {

ecou „Nu acceptați SHA256. \n ' ;

}

?>

6: se utilizează CRYPT_SHA512

The CRYPT_SHA512 este un alt algoritm de hashing util suportat de criptă() funcție în PHP care utilizează SHA-512 algoritm de criptare. SHA-512 este o funcție hash criptografică utilizată pe scară largă care generează o valoare hash de 512 biți (64 de octeți). A folosi CRYPT_SHA512 , trebuie să furnizați o valoare a sării, care începe cu 6 USD , urmat de un parametru de cost din două cifre și apoi de valoarea reală a sării

De exemplu:



dacă ( CRYPT_SHA512 == 1 ) {

ecou 'SHA-512:' .

criptă ( „Bine ați venit la linuxhint” , „$6$mkstringexforsaltparam$” ) .

' \n ' ;

} altfel {

ecou „Nu acceptați SHA-512. \n ' ;

}

?>

Concluzie


PHP criptă() funcția poate cripta șiruri hashed și este o tehnică criptografică unidirecțională care acceptă algoritmul specificat. Deoarece permite doar criptarea și nu decriptarea, este denumit algoritm unidirecțional. Această funcție acceptă un parametru obligatoriu și unul opțional și returnează un șir criptat. Acest ghid a implementat funcția PHP crypt folosind CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , și, CRYPT_SHA512 algoritmi.