Introduktion till Hashing-funktion i PHP?
Innan vi förstår begreppet hashing-funktion i PHP, låt oss förstå vad som är hashing?
Hashing är omvandlingen av en uppsättning tecken till ett fast längdvärde eller nyckel som representerar den ursprungliga strängen. Hashing används också i databasen för att indexera och hämta objekt eftersom det blir snabbare och lättare att hitta ett objekt med hjälp av kortare hashnycklar än att hitta det med det ursprungliga värdet. Det används också i många av krypteringsalgoritmerna ur ett affärsperspektiv.
I PHP används hashingfunktioner och algoritmer för att kryptera data så att sökningen blir enklare och snabbare än det ursprungliga värdet. Hashfunktionerna används för att underlätta processen eftersom den indexerar det ursprungliga värdet och används vid varje tidpunkt där det behövs. Det är alltid en enkelriktad operation. En bra hashfunktion bör inte producera samma utgång eller hashvärde för två eller många olika ingångar som användaren anger. Om hashfunktionen ger samma utgång för två olika ingångar, är denna process känd som en kollision.
Hur fungerar Hashing-funktionen och dess syntax?
PHP är ett programmeringsspråk på serversidan och dess viktigaste roll är att det måste bearbeta back-end-funktionen som krävs för en viss applikation. I denna process spelar autentisering en viktig roll eftersom sårbarheter kan utnyttja informationen enkelt. Ett sätt att säkra uppgifterna är att lagra dem i databasen i sin ursprungliga form, men det kan leda till en situation där inkräktaren / obehörig person enkelt kan ta informationen och de kan äventyras. Denna situation kan enkelt hanteras med hjälp av Hashing-funktioner.
Hashfunktioner krypterar uppgifterna i dess verkliga form utan att ändra dess betydelse. Så när en användare anger informationen i sin verkliga form kommer informationen att krypteras i backend och därmed sker autentisering och godkännande av dataprocessen. De mest använda hash-algoritmerna är md5 (), sha1 () och få hashfunktioner. Dessa algoritmer används av utvecklaren för att autentisera de data som användaren har angett är korrekta eller inte för att gå vidare med processen.
1. MD5 ()
Denna algoritm är en av de kraftfulla hash-algoritmerna som beräknar md5-hash, dvs hash för 16 eller 32-tecken hexadecimalt antal för en viss sträng. Denna sträng som passeras konverteras till den krypterade hexadecimala formen.
Syntax: string md5 ($ string, $ getRawOutput)
Ovanstående syntax indikerade $ -strängen som inmatningssträngen. Den råa utgången är en valfri ingång eftersom utvecklaren vill konvertera den till 16 eller 32 bit. Om 16 bit måste aktiveras måste den ställas in TRUE Boolean och överföras till funktionen. Om den inte är inställd ställs standardvärdet på 32 bitar automatiskt.
Exempel: md5 (EduCBA, TRUE)
2. SHA1 ()
Denna algoritm är en av de kraftfulla hash-algoritmerna som beräknar Sha1-hash, dvs hash med 20 tecken binärt format eller 40-tecken hexadecimalt antal för en viss sträng. Denna sträng som passeras konverteras till den krypterade hexadecimala formen.
Syntax: string sha1 ($ string, $ getRawOutput)
Ovanstående syntax indikerade $ -strängen som inmatningssträngen. Den råa utgången är en valfri ingång eftersom utvecklaren vill att den ska vara 20 eller 40 bit. Om 20 bit måste aktiveras måste den ställas in TRUE Boolean och överföras till funktionen. Om den inte är inställd ställs 40 bitars standard automatiskt in.
Exempel: sha1 (EduCBA, TRUE)
Hashing-funktion i PHP
Nedan listade är få hashfunktioner som används i PHP för att kryptera / konvertera data från original till hashformulär.
1. Hash_equals
Denna funktion jämför de två strängarna samtidigt oavsett om de är lika eller inte. Denna funktion returnerar SANT när strängarna är lika och FALSE om strängarna inte är lika. Båda argumenten bör vara desamma för att jämföra strängarna annars kommer den omedelbart att returnera falskt utan att ens jämföra strängar alfabetiskt och ibland kan strängens längd också avslöjas vid timingattack.
2. Hash_finalen
Denna funktion returnerar en hash-uppfattning av den inmatade strängen som skickas till denna funktion. När råutgången är satt till SANT ger den rå binära data och när den är inställd på FALSE ger den ett hexadecimalt lägre nummer. Denna funktion returnerar en beräknad hexadecimal digering av strängen som en utgång.
3. Hash_init
Denna funktion används tillsammans med hash-algoritmerna, dvs md5 (), sha (), etc. Denna funktion tillsammans med hash-algoritmerna producerar output som ska användas med hash_update (), hash final (), etc. Utgången från hash_init lagras i en sträng eller variabel och vidarebefordras till någon av funktionerna.
4. Hash_copy
Denna funktion används för att kopiera hashingkontext. Strängen som skickas som en ingång till funktionen hashas av en av algoritmerna som används i hash_init () -funktionen och motsvarande utgång skulle vara hashsträngen som skickas till denna funktion. Denna funktion returnerar en hashad form av utgången som ges av hash_init-funktionen.
Exempel på Hashing-funktion i PHP
Följande är en lista över hashfunktioner i PHP som förklaras i detalj,
Exempel 1
Koda:
<_?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:
Exempel 2
Koda:
<_?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:
Exempel 3
Koda:
<_?php$hash = hash_init('sha1');
hash_update($hash, 'This is an example of PHP Hash function');
echo hash_final($hash);
?>
Produktion:
Slutsats
I den här artikeln diskuterade vi vad som är hashing och dess olika algoritmer. Vi diskuterade också några hashingfunktioner som används i PHP för att kryptera data för att förhindra skadliga och sårbara attacker. På grund av dessa attacker är uppgifterna inte säkra och dataförlust inträffar. Så hasningstekniken infördes så att det inte kommer att förlora data och det kommer att säkras med olika attacker.
Rekommenderade artiklar
Detta är en guide till Hashing-funktion i PHP. Här diskuterar vi dess funktion, syntax och topp 4 hashingfunktion i PHP med exempel och kodimplementering. Du kan också titta på följande artiklar för att lära dig mer-
- Typer av funktioner i PHP med exempel
- Hur kontrollerar man Palindrome i PHP?
- Sortering av associerande array i PHP
- Hur konverterar jag datumformat i PHP?