Introduktion til Hashing-funktion i PHP?
Inden vi forstå begrebet hashing-funktion i PHP, lad os forstå, hvad der er hashing?
Hashing er omdannelse af et sæt tegn til en værdi eller nøgle med fast længde, der repræsenterer den oprindelige streng. Hashing bruges også i databasen til at indeksere og hente genstande, fordi det bliver hurtigere og lettere at finde et element ved hjælp af kortere hashetaster end at finde det med den originale værdi. Det bruges også i mange af krypteringsalgoritmerne fra et forretningsperspektiv.
I PHP bruges hashingfunktioner og algoritmer til at kryptere dataene, så søgningen bliver lettere og hurtigere end den oprindelige værdi. Hashfunktionerne bruges for at lette processen, da den indekserer den oprindelige værdi, og den bruges til enhver tid, hvor det er nødvendigt. Det er altid en envejsoperation. En god hashfunktion bør ikke producere den samme output eller hashværdi for to eller mange forskellige input, som brugeren indtaster. Hvis hash-funktionen producerer det samme output for to forskellige indgange, kaldes denne proces som en kollision.
Hvordan fungerer Hashing-funktionen og dens syntaks?
PHP er et programmeringssprog på serversiden, og dets vigtigste rolle er, at det skal behandle back-end-funktionaliteten, der kræves til en bestemt applikation. I denne proces spiller godkendelse en vigtig rolle, da sårbarheder nemt kan udnytte dataene. En måde at sikre dataene er at gemme dem i databasen i sin oprindelige form, men dette kan føre til en situation, hvor den ubudne gæst / uautoriseret person nemt kan tage dataene, og de kan kompromitteres. Denne situation kan let håndteres ved hjælp af Hashing-funktioner.
Hash-funktioner krypterer dataene i sin ægte form og dermed uden at ændre deres betydning. Så når en bruger indtaster dataene i sin rigtige form, vil dataene blive krypteret i backend, og der sker således godkendelse og godkendelse af dataprocessen. De mest almindeligt anvendte hash-algoritmer er md5 (), sha1 () og få hash-funktioner. Disse algoritmer bruges af udvikleren til at autentificere de data, som brugeren har indtastet, er korrekte eller ikke for at gå videre med processen.
1. MD5 ()
Denne algoritme er en af de kraftige hash-algoritmer, der beregner md5-hash, dvs. hashet på 16 eller 32-karakter hexadecimalt antal af en bestemt streng. Denne valgte streng konverteres til den krypterede hexadecimale form.
Syntaks: streng md5 ($ streng, $ getRawOutput)
Ovenstående syntaks angav $ -strengen som inputstrengen. Den rå output er et valgfrit input, da udvikleren ønsker at konvertere det til 16 bit eller 32 bit. Hvis 16 bit skal aktiveres, skal det indstilles TRUE Boolean og overføres til funktionen. Hvis det ikke er indstillet, indstilles standardbilledet til 32 bit automatisk.
Eksempel: md5 (EduCBA, SAND)
2. SHA1 ()
Denne algoritme er en af de stærke hash-algoritmer, der beregner sha-hash, dvs. hash med 20 tegn binært format eller hexadecimalt antal med 40 tegn i en bestemt streng. Denne valgte streng konverteres til den krypterede hexadecimale form.
Syntaks: streng sha1 ($ streng, $ getRawOutput)
Ovenstående syntaks angav $ -strengen som inputstrengen. Den rå output er et valgfrit input, da udvikleren ønsker, at det skal være på 20 eller 40 bit. Hvis 20 bit skal aktiveres, skal det indstilles TRUE Boolean og overføres til funktionen. Hvis det ikke er indstillet, indstilles standarden på 40 bit automatisk.
Eksempel: sha1 (EduCBA, TRUE)
Hashing-funktion i PHP
Nedenstående er nogle få hashfunktioner, der bruges i PHP til at kryptere / konvertere dataene fra original til hashet form.
1. Hash_equals
Denne funktion sammenligner de to strenge på samme tid, uanset om de er ens eller ikke. Denne funktion returnerer SAND, når strengene er ens og FALSE, hvis strengene ikke er ens. Begge argumenterne skal være de samme for at sammenligne strengene ellers vil den straks vende tilbage uden endda at sammenligne strenge alfabetisk, og undertiden kan strengens længde også afsløres i tilfælde af timingangreb.
2. Hash_finale
Denne funktion returnerer en hash-fordøjelse af inputstrengen, der er sendt til denne funktion. Når rå output er sat til SAND, giver det rå binære data, og når det er indstillet til FALSE, giver det et lille hexadecimalt tal. Denne funktion returnerer en beregnet hexadecimal fordøjelse af strengen som en output.
3. Hash_init
Denne funktion bruges sammen med hash-algoritmer dvs. md5 (), sha () osv. Denne funktion sammen med hash-algoritmerne producerer output til brug med hash_update (), hash final () osv. Udgangen fra hash_init gemmes i en streng eller variabel og overført til en af funktionerne.
4. Hash_copy
Denne funktion bruges til at kopiere hashing-konteksten. Strengen, der sendes som input til funktionen, hashes af en af algoritmerne, der bruges i hash_init () -funktionen, og den tilsvarende udgang er den hashedstreng, der sendes til denne funktion. Denne funktion returnerer en hashformet form for output, der er givet af hash_init-funktionen.
Eksempler på Hashing-funktion i PHP
Det følgende er en liste over hashfunktion i PHP forklaret detaljeret,
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";
?>
Produktion:
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));
?>
Produktion:
Eksempel 3
Kode:
<_?php$hash = hash_init('sha1');
hash_update($hash, 'This is an example of PHP Hash function');
echo hash_final($hash);
?>
Produktion:
Konklusion
I denne artikel diskuterede vi, hvad der er hashing, og dets forskellige algoritmer. Vi diskuterede også et par hashingfunktioner, der blev brugt i PHP til at kryptere dataene for at forhindre ondsindede og sårbare angreb. På grund af disse angreb er dataene ikke sikre, og der opstår tab af data. Så hashing-teknikken blev introduceret, så der ikke vil være noget tab af data, og det vil blive sikret ved forskellige angreb.
Anbefalede artikler
Dette er en guide til Hashing-funktion i PHP. Her drøfter vi dens funktions-, syntaks- og top 4-hashingfunktion i PHP med eksempler og kodeimplementering. Du kan også se på de følgende artikler for at lære mere-
- Typer af funktioner i PHP med eksempler
- Sådan kontrolleres Palindrome i PHP?
- Sortering af associativ matrix i PHP
- Sådan konverteres datoformat i PHP?