Introduksjon til Hashing-funksjon i PHP?
Før vi forstår begrepet hashingfunksjon i PHP, la oss forstå hva som er hashing?
Hashing er transformasjonen av et sett med tegn til en verdi i fast lengde eller nøkkel som representerer den opprinnelige strengen. Hashing brukes også i databasen for å indeksere og hente gjenstander fordi det blir raskere og enklere å finne et element ved hjelp av kortere hashetaster enn å finne det med den opprinnelige verdien. Det brukes også i mange av krypteringsalgoritmene fra et forretningsperspektiv.
I PHP brukes hashingfunksjoner og algoritmer for å kryptere dataene slik at søk blir enklere og raskere enn den opprinnelige verdien. Hasjfunksjonene brukes for å lette prosessen da den indekserer den opprinnelige verdien og den brukes når som helst der det er nødvendig. Det er alltid en enveis operasjon. En god hasjfunksjon skal ikke gi samme output eller hashverdi for to eller mange forskjellige innganger som er lagt inn av brukeren. Hvis hasjfunksjonen gir samme utgang for to forskjellige innganger, er denne prosessen kjent som en kollisjon.
Hvordan fungerer Hashing-funksjonen og dens syntaks?
PHP er et programmeringsspråk på serversiden, og dets viktigste rolle er at det må behandle back-end-funksjonaliteten som kreves for en bestemt applikasjon. I denne prosessen spiller autentisering en viktig rolle ettersom sårbarheter kan utnytte dataene enkelt. En måte å sikre dataene på er å lagre dem i databasen i sin opprinnelige form, men dette kan føre til en situasjon der den inntrengende / uvedkommende kan ta dataene enkelt og de kan bli kompromittert. Denne situasjonen kan enkelt håndteres ved å bruke Hashing-funksjoner.
Hash-funksjoner krypterer dataene i sin sanne form og dermed uten å endre betydningen. Så når en bruker legger inn dataene i sin sanne form, vil dataene bli kryptert i backend og dermed skjer autentisering og autorisasjon av dataprosessen. De mest brukte hash-algoritmene er md5 (), sha1 () og få hasjfunksjoner. Disse algoritmene brukes av utvikleren til å autentisere dataene som er lagt inn av brukeren, er riktige eller ikke for å gå videre med prosessen.
1. MD5 ()
Denne algoritmen er en av de kraftige hashing-algoritmene som beregner md5-hash, dvs. hasjen på 16 eller 32-karakter heksadesimal antall for en bestemt streng. Denne strengen som sendes, blir konvertert til den krypterte heksadesimale formen.
Syntaks: streng md5 ($ streng, $ getRawOutput)
Ovennevnte syntaks angav $ -strengen som inputstreng. Rå utgangen er en valgfri inngang ettersom utvikleren ønsker å konvertere den til 16 eller 32 bit. Hvis 16-biters må aktiveres, må den stilles TRUE Boolean og overføres til funksjonen. Hvis den ikke er satt, settes standardbiten til 32 bit automatisk.
Eksempel: md5 (EduCBA, SANN)
2. SHA1 ()
Denne algoritmen er en av de kraftige hash-algoritmene som beregner Sha1-hashen, dvs. hasjen med 20 tegn binært format eller heksadesimalnummer på 40 tegn i en bestemt streng. Denne strengen som sendes, blir konvertert til den krypterte heksadesimale formen.
Syntaks: streng sha1 ($ streng, $ getRawOutput)
Ovennevnte syntaks angav $ -strengen som inputstreng. Rå utgangen er en valgfri inngang ettersom utvikleren ønsker at den skal være på 20 eller 40 bit. Hvis 20 bit må aktiveres, må den stilles TRUE Boolean og overføres til funksjonen. Hvis den ikke er satt, settes standardbiten til 40 bit automatisk.
Eksempel: sha1 (EduCBA, TRUE)
Hashing-funksjon i PHP
Nedenstående er noen få hashfunksjoner som brukes i PHP for å kryptere / konvertere dataene fra original til hashform.
1. Hash_equals
Denne funksjonen sammenligner de to strengene samtidig om de er like eller ikke. Denne funksjonen returnerer SANN når strengene er like og FALSE hvis strengene ikke er like. Begge argumentene skal være de samme for å sammenligne strengene ellers vil den umiddelbart returnere usant uten å sammenligne strengene alfabetisk og noen ganger kan lengden på strengen også avsløres i tilfelle timingangrep.
2. Hash_finalen
Denne funksjonen returnerer en hasjfordøyelse av inngangsstrengen som er sendt til denne funksjonen. Når råutgangen er satt til SANN, gir den rå binære data, og når den er satt til FALSE gir den et heksadesimaltall med små bokstaver. Denne funksjonen returnerer en beregnet heksadesimal fordøyelse av strengen som en utgang.
3. Hash_init
Denne funksjonen brukes sammen med hashingsalgoritmene dvs. md5 (), sha () osv. Denne funksjonen sammen med hashingsalgoritmene produserer output som skal brukes med hash_update (), hash final (), etc. Utgangen til hash_init er lagret i en streng eller variabel og sendt til en av funksjonene.
4. Hash_copy
Denne funksjonen brukes til å kopiere hashing-konteksten. Strengen som sendes som inngang til funksjonen hashes av en av algoritmene som brukes i hash_init () -funksjonen, og den tilsvarende utgangen vil være den hash-strengen som sendes til denne funksjonen. Denne funksjonen returnerer en hashformet form for utdata gitt av hash_init-funksjonen.
Eksempler på Hashing-funksjon i PHP
Følgende er en liste over hashingsfunksjon i PHP forklart i detalj,
Eksempel 1
Kode:
<_?php$c = hash_init("md5");
hash_update($c, "content");
$copy_c = hash_copy($c);
echo hash_final($c);
hash_update($copy_c, "content");
echo hash_final($copy_c), "\n";
?>
Produksjon:
Eksempel 2
Kode:
<_?php$expected = crypt('leela123', '$2a$07$user$');
$right = crypt('leela123', '$2a$07$user$');
$wrong = crypt('leeeela233', '$2a$07$usedwrongstring$');
var_dump(hash_equals($expected, $right));
var_dump(hash_equals($expected, $wrong));
?>
Produksjon:
Eksempel 3
Kode:
<_?php$hash = hash_init('sha1');
hash_update($hash, 'This is an example of PHP Hash function');
echo hash_final($hash);
?>
Produksjon:
Konklusjon
I denne artikkelen diskuterte vi hva som er hashing og dets forskjellige algoritmer. Vi diskuterte også noen få hashingfunksjoner som brukes i PHP for å kryptere dataene for å forhindre ondsinnede og sårbare angrep. På grunn av disse angrepene er ikke dataene sikre, og tap av data oppstår. Så hashing-teknikken ble introdusert slik at det ikke blir tap av data og den vil bli sikret ved forskjellige angrep.
Anbefalte artikler
Dette er en guide til Hashing-funksjon i PHP. Her diskuterer vi dens fungerende, syntaks og topp 4 hashingfunksjon i PHP med eksempler og implementering av kode. Du kan også se på følgende artikler for å lære mer-
- Funksjonstyper i PHP med eksempler
- Hvordan sjekke Palindrome i PHP?
- Sortering av assosiert array i PHP
- Hvordan konvertere datoformat i PHP?