Uvod u funkciju ležanja u PHP-u?

Prije razumijevanja koncepta hashing funkcije u PHP-u, shvatimo što je raspršivanje?

Hashing je transformacija skupa znakova u vrijednost fiksne duljine ili ključ koji predstavlja izvorni niz. Hashing se u bazi podataka koristi i za indeksiranje i dohvaćanje stavki, jer je brže i lakše pronaći predmet uz pomoć kraćih ključeva, nego ako ga pronađete s izvornom vrijednošću. Također se koristi u mnogim algoritmima za šifriranje iz poslovne perspektive.

U PHP-u se pomoću šifriranih podataka i algoritama koriste za šifriranje podataka tako da pretraživanje postaje lakše i brže od izvorne vrijednosti. Hash funkcije se koriste kako bi se olakšao postupak jer indeksira izvornu vrijednost i koristi se u svakom trenutku kad god je potrebno. Uvijek je jednosmjerna operacija. Dobra hash funkcija ne smije stvarati isti izlaz ili vrijednost raspršivanja za dva ili više različitih ulaza koje korisnik unese. Ako hash funkcija proizvodi isti izlaz za dva različita ulaza, ovaj proces je poznat i kao sudarač.

Kako funkcionira hashing funkcija i njena sintaksa?

PHP je programski jezik na strani poslužitelja i njegova glavna uloga je da mora obraditi pomoćnu funkcionalnost potrebnu za određenu aplikaciju. U tom procesu provjera autentičnosti igra vitalnu ulogu jer ranjivosti lako mogu iskoristiti podatke. Jedan od načina osiguranja podataka je njihovo pohranjivanje u bazu podataka u izvornom obliku, ali to bi moglo dovesti do situacije kada uljez / neovlaštena osoba može lako preuzeti podatke i ona se može ugroziti. S ovom se situacijom može jednostavno riješiti korištenjem funkcija sjeckanja.

Hash funkcije šifriraju podatke u njihovom pravom obliku bez promjene značenja. Dakle, kada korisnik unese podatke u pravom obliku, podaci će se šifrirati u pomoćnom prostoru i na taj način se događa provjera autentičnosti i autorizacije procesa podataka. Najčešće korišteni hash algoritmi su md5 (), sha1 () i nekoliko hash funkcija. Ove algoritme razvojni programer upotrebljava za provjeru ispravnosti podataka koje je unijeo korisnik ili ne nastavlja dalje s postupkom.

1. MD5 ()

Ovaj algoritam jedan je od moćnih hash algoritama koji izračunava md5 hash, tj. Hash od 16 ili 32 znaka, heksadecimalni broj određenog niza. Taj prošao niz pretvorit će se u šifrirani šesterokutni oblik.

Sintaksa: string md5 ($ string, $ getRawOutput)

Gornja sintaksa naznačila je niz $ kao ulazni niz. Sirovi izlaz je neobavezni ulaz jer ga programer želi pretvoriti u 16 ili 32 bitni. Ako 16 bita mora omogućiti, mora se postaviti TRUE Boolean i prenijeti u funkciju. Ako nije postavljeno, tada će se zadati 32 bita automatski.

Primjer: md5 (EduCBA, TRUE)

2. SHA1 ()

Ovaj algoritam jedan je od moćnih hash algoritama koji izračunava sha1 hash, tj. Hash od 20 znakova binarnog formata ili 40-znakovnih heksadecimalnih broja određenog niza. Taj prošao niz pretvorit će se u šifrirani šesterokutni oblik.

Sintaksa: string sha1 ($ string, $ getRawOutput)

Gornja sintaksa naznačila je niz $ kao ulazni niz. Neobrađeni izlaz je neobavezan ulaz jer programer želi da bude 20-bitni ili 40-bitni. Ako 20 bitni to mora omogućiti, treba postaviti TRUE Boolean i prebaciti se na funkciju. Ako nije postavljeno, tada se automatski postavlja zadana vrijednost od 40 bita.

Primjer: sha1 (EduCBA, TRUE)

Hashing funkcija u PHP-u

Dolje su navedene nekoliko hash funkcija koje se u PHP-u koriste za šifriranje / pretvaranje podataka iz izvornog u raspršeni oblik.

1. Hash_equals

Ova funkcija uspoređuje dva niza istovremeno jesu li jednake ili ne. Ova funkcija vraća TRUE kad su žice jednake i FALSE ako žice nisu jednake. Oba argumenta trebaju biti jednaka za usporedbu žice, inače će se odmah vratiti lažni, a da ni abecedno ne uspoređujete žice, a ponekad se može otkriti i duljina niza u slučaju vremenskog napada.

2. Hash_final

Ova funkcija vraća hash probavu ulaznog niza prosljeđenog ovoj funkciji. Kad se neobrađeni izlaz postavi na TRUE, tada daje sirove binarne podatke, a kad je postavljen na FALSE, on daje malu heksadecimalnu vrijednost. Ova funkcija vraća izračunati šesterokutni najbroj niza kao izlaz.

3. Hash_init

Ova se funkcija koristi zajedno s algoritmima hash, tj. Md5 (), sha (), itd. Ova funkcija zajedno s algoritmima hashing daje izlaz za korištenje s hash_update (), hash final (), itd. Izlaz hash_init je pohranjen u nizu ili varijabli te se prebaci na bilo koju od funkcija.

4. Hash_copy

Ova se funkcija koristi za kopiranje konteksta raspršivanja. Niz koji je proslijeđen kao ulaz u funkciju hasheira jednim od algoritama koji se koriste u funkciji hash_init (), a odgovarajući izlaz bi bio hashed string koji je proslijeđen ovoj funkciji. Ova funkcija vraća ispravan oblik izlaza koji daje funkcija hash_init.

Primjeri zasjeđivanja funkcija u PHP-u

Slijedi popis funkcija hashpiranja u PHP-u koji je detaljno objašnjen,

Primjer 1

Kodirati:

<_?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";
?>

Izlaz:

Primjer 2

Kodirati:

<_?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));
?>

Izlaz:

Primjer 3

Kodirati:

<_?php
$hash = hash_init('sha1');
hash_update($hash, 'This is an example of PHP Hash function');
echo hash_final($hash);
?>

Izlaz:

Zaključak

U ovom smo članku raspravljali o tome što je raspršivanje i njegovi različiti algoritmi. Također, razgovarali smo o nekoliko hash funkcija koje se koriste u PHP-u za kriptiranje podataka kako bi se spriječili zlonamjerni i ranjivi napadi. Zbog tih napada podaci nisu sigurni i dolazi do gubitka podataka. Dakle, uvedena je tehnika hashiranja kako ne bi došlo do gubitka podataka i to će biti osigurano raznim napadima.

Preporučeni članci

Ovo je vodič za funkciju ležanja u PHP-u. Ovdje smo raspravljali o njegovoj radnoj, sintaksi i top 4 hashing funkciji u PHP-u s primjerima i implementacijom koda. Možete pogledati i sljedeće članke da biste saznali više -

  1. Vrste funkcija u PHP-u s primjerima
  2. Kako provjeriti Palindrome u PHP-u?
  3. Razvrstavanje asocijativnog niza u PHP-u
  4. Kako pretvoriti format datuma u PHP?

Kategorija: