Kako koristiti funkciju crypt() u PHP-u

Kako Koristiti Funkciju Crypt U Php U



The kripta() funkcija u PHP-u je koristan alat za kriptografiju koji se koristi za stvaranje hash-a zadanog niza pomoću algoritama hashiranja kao što su standardni DES, prošireni DES, MD5, Blowfish, SHA-256 i SHA-512. Ova se funkcija koristi za jednosmjerno raspršivanje i enkripciju nizova. Potrebna su dva argumenta: niz koji se raspršuje i opcijska vrijednost soli, koja se koristi za dodavanje složenosti procesu raspršivanja i čini ga sigurnijim.

Na nekoliko operativnih sustava ova se funkcija ponaša drugačije. Tijekom instalacije PHP ispituje dostupne i preporučene algoritme. Ova je funkcija uključena u PHP verziju 4 i noviju i prihvaća jedan obavezni i jedan izborni parametar.

Sintaksa

Jednostavna sintaksa nakon koje slijedi kripta() funkcija je data u nastavku:









kripta ( $str , $sol )

Funkcija prihvaća dva parametra:



  • $str: Ovaj parametar je niz koji želite šifrirati. Ovaj bi niz mogao biti skraćen tijekom generiranja hasha, što znači da neće uzeti u obzir cijeli niz na temelju tipa hasha.
  • $sol: Ovaj parametar se koristi za odabir metode raspršivanja.

Ova funkcija će vratiti šifrirani niz.



Kako koristiti funkciju crypt() u PHP-u?

The kripta() funkcija u PHP-u može se koristiti s različitim algoritmima kriptografskog raspršivanja za šifriranje niza; evo nekoliko primjera kako koristiti kripta() s različitim algoritmima raspršivanja:





Objasnimo ove metode u detalje.

1: Korištenje CRYPT_STD_DES

The CRYPT_STD_DES jedan je od algoritama raspršivanja koje podržava kripta() funkcija u PHP-u koja koristi Standardni DES (Standard šifriranja podataka) algoritam za šifriranje. Prilikom korištenja CRYPT_STD_DES , trebate dati vrijednost soli od dva znaka kao drugi argument za kripta() funkcija. Vrijednost soli određuje varijaciju ključa i složenost procesa šifriranja.



Na primjer:



ako ( CRYPT_STD_DES == 1 ) {

jeka 'Standardni DES: ' . kripta ( 'dobrodošli u linuxhint' , 'str' ) . ' \n ' ;

} drugo {

jeka 'Ne podržavajte standardni DES. \n ' ;

}

?>

2: Korištenje CRYPT_EXT_DES

The CRYPT_EXT_DES je još jedan algoritam raspršivanja kojeg podržava kripta() funkcija koja koristi Prošireni DES (standard šifriranja podataka) algoritam za šifriranje. Prošireni DES je proširenje originalnog DES algoritma, pružajući veći prostor za ključeve i poboljšanu sigurnost.

Koristiti CRYPT_EXT_DES , trebate navesti vrijednost soli koja počinje s _J9 nakon čega slijede dodatni znakovi.

Na primjer:



ako ( CRYPT_EXT_DES == 1 ) {

jeka 'Prošireni DES: ' . kripta ( 'dobrodošli u linuxhint' , '_J9..dutta' ) . ' \n ' ;

} drugo {

jeka 'Ne podržavajte prošireni DES. \n ' ;

}

?>

3: Korištenje CRYPT_MD5

The CRYPT_MD5 jedan je od algoritama raspršivanja koje podržava kripta() funkcija u PHP-u koja koristi MD5 (Algoritam sažetka poruke 5 proizvodi 128-bitnu (16-bajtnu) hash vrijednost ) algoritam za šifriranje.

Koristiti CRYPT_MD5 , trebate navesti vrijednost soli koja počinje s $1$ nakon čega slijede neki likovi.

Na primjer:



ako ( CRYPT_MD5 == 1 ) {

jeka 'MD5: ' . kripta ( 'dobrodošli u linuxhint' , '$1$pokušavam$' ) . ' \n ' ;

} drugo {

jeka 'Ne podržavajte MD5. \n ' ;

}

?>

4: Korištenje CRYPT_BLOWFISH

The CRYPT_BLOWFISH široko je preporučeni algoritam raspršivanja kojeg podržava kripta() funkcija u PHP-u koja koristi algoritam Blowfish za šifriranje. Blowfish je blok šifra sa simetričnim ključem koja je poznata po svojoj jakoj sigurnosti. Koristiti CRYPT_BLOWFISH , trebate navesti vrijednost soli koja počinje s $2y$ ili $2a$ , nakon čega slijedi dvoznamenkasti troškovni parametar, a zatim stvarna vrijednost soli.

Na primjer:



ako ( CRYPT_BLOWFISH == 1 ) {

jeka 'Blowfish:' .

kripta ( 'dobrodošli u linuxhint' , '$2y$12$mkstringexforsaltparam' ) .

' \n ' ;

} drugo {

jeka 'Ne podržavajte Blowfish. \n ' ;

}

?>

5: Korištenje CRYPT_SHA256

Još jedan algoritam raspršivanja kojeg podržava kripta() funkcija je CRYPT_SHA256 koji koristi SHA-256 algoritam (proizvodi 256-bitnu (32-bajtnu) hash vrijednost) za šifriranje. Koristiti CRYPT_SHA256 , trebate navesti vrijednost soli koja počinje s 5 dolara , nakon čega slijedi dvoznamenkasti troškovni parametar, a zatim stvarna vrijednost soli

Na primjer:



ako ( CRYPT_SHA256 == 1 ) {

jeka 'SHA-256: ' .

kripta ( 'dobrodošli u linuxhint' , '$5$mkstringexforsaltparam$' ) .

' \n ' ;

} drugo {

jeka 'Ne podržavajte SHA256. \n ' ;

}

?>

6: Korištenje CRYPT_SHA512

The CRYPT_SHA512 je još jedan koristan algoritam raspršivanja kojeg podržava kripta() funkcija u PHP-u koja koristi SHA-512 algoritam za šifriranje. SHA-512 široko je korištena kriptografska hash funkcija koja generira 512-bitnu (64-bajtnu) hash vrijednost. Koristiti CRYPT_SHA512 , trebate navesti vrijednost soli koja počinje s 6 dolara , nakon čega slijedi dvoznamenkasti troškovni parametar, a zatim stvarna vrijednost soli

Na primjer:



ako ( CRYPT_SHA512 == 1 ) {

jeka 'SHA-512: ' .

kripta ( 'dobrodošli u linuxhint' , '$6$mkstringexforsaltparam$' ) .

' \n ' ;

} drugo {

jeka 'Ne podržavajte SHA-512. \n ' ;

}

?>

Zaključak


PHP kripta() funkcija može šifrirati raspršene nizove i jednosmjerna je kriptografska tehnika koja podržava navedeni algoritam. Budući da dopušta samo enkripciju, ali ne i dešifriranje, naziva se jednosmjernim algoritmom. Ova funkcija prihvaća jedan obvezni i jedan izborni parametar i vraća šifrirani niz. Ovaj vodič implementirao je PHP kript funkciju pomoću CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , i, CRYPT_SHA512 algoritmi.