Johdanto hajautustoimintoon PHP: ssä?
Ennen kuin ymmärrämme hajautustoiminnon käsitettä PHP: ssä, ymmärretään mikä on hajautus?
Hajautus on merkistöjoukon muuttaminen kiinteän pituiseksi arvoksi tai avaimeksi, joka edustaa alkuperäistä merkkijonoa. Hajautusta käytetään myös tietokannassa kohteiden indeksointiin ja hakemiseen, koska kohteiden löytäminen on nopeampaa ja helpompaa lyhyempien hajautettujen avainten avulla kuin alkuperäisen arvon löytäminen. Sitä käytetään myös monissa salausalgoritmeissa liiketoiminnan näkökulmasta.
PHP: ssä hajautusfunktioita ja algoritmeja käytetään tietojen salaamiseen, jotta etsimisestä tulee helpompaa ja nopeampaa kuin alkuperäinen arvo. Hajautusfunktioita käytetään prosessin helpottamiseksi, koska se indeksoi alkuperäisen arvon, ja sitä käytetään joka kerta tarvittaessa. Se on aina yksisuuntainen toiminta. Hyvä hash-toiminto ei saisi tuottaa samaa lähtöä tai hash-arvoa kahdelle tai monelle käyttäjän syöttämälle eri tulolle. Jos hash-toiminto tuottaa saman ulostulon kahdelle eri tulolle, tämä prosessi tunnetaan törmäyksenä.
Kuinka hashing-toiminto toimii ja sen syntaksi?
PHP on palvelinpuolen ohjelmointikieli ja sen tärkein rooli on prosessoida tietyn sovelluksen edellyttämät taustatoiminnot. Tässä prosessissa autentikoinnilla on tärkeä rooli, koska haavoittuvuudet voivat hyödyntää tietoja helposti. Yksi tapa suojata tietoja on tallentaa se tietokantaan alkuperäisessä muodossaan, mutta tämä voi johtaa tilanteeseen, jossa tunkeilija / valtuuttamaton henkilö voi ottaa tiedot helposti ja voi vaarantua. Tilanne voidaan hoitaa helposti käyttämällä Hashing-toimintoja.
Hash-toiminnot salaavat tiedot todellisessa muodossaan muuttamatta sen merkitystä. Joten kun käyttäjä syöttää tiedot oikeassa muodossaan, tiedot salataan taustassa ja siten tapahtuu todennus ja dataprosessin valtuutus. Yleisimmin käytetyt hash-algoritmit ovat md5 (), sha1 () ja muutama hash-funktio. Kehittäjä käyttää näitä algoritmeja todentamaan käyttäjän syöttämät tiedot oikein tai jatkamatta prosessia.
1. MD5 ()
Tämä algoritmi on yksi tehokkaista hajautusalgoritmeista, joka laskee md5-tiivisteen eli tietyn merkkijonon 16 tai 32-merkkisen heksadesimaaliluvun tiivisteen. Tämä ohitettu merkkijono muunnetaan salattuun heksadesimaalimuotoon.
Syntaksi: merkkijono md5 ($ merkkijono, $ getRawOutput)
Yllä oleva syntaksi osoitti merkkijono $ merkkijono. Raakatuotos on valinnainen tulo, koska kehittäjä haluaa muuntaa sen 16- tai 32-bittiseksi. Jos 16 bitin on oltava käytössä, se on asetettava TRUE Boolen arvoksi ja siirrettävä toimintoon. Jos sitä ei ole asetettu, 32 bitin oletusasetus asetetaan automaattisesti.
Esimerkki: md5 (EduCBA, TOSI)
2. SHA1 ()
Tämä algoritmi on yksi tehokkaista hajautusalgoritmeista, joka laskee sha1-tiivisteen, ts. 20 merkin binaarimuodon tai 40 merkin heksadesimaaliluvun tietyn merkkijonon. Tämä ohitettu merkkijono muunnetaan salattuun heksadesimaalimuotoon.
Syntaksi: merkkijono sha1 ($ merkkijono, $ getRawOutput)
Yllä oleva syntaksi osoitti merkkijono $ merkkijono. Raakatuotos on valinnainen tulo, koska kehittäjä haluaa sen olevan 20- tai 40-bittinen. Jos 20 bitin on sallittava, se on asetettava TRUE Boolean ja siirrettävä toimintoon. Jos sitä ei ole asetettu, 40 bitin oletusasetus asetetaan automaattisesti.
Esimerkki: sha1 (EduCBA, TOSI)
Hajautustoiminto PHP: ssä
Alla on lueteltu muutama hajautusfunktio, jota PHP: ssä käytetään tietojen salaamiseen / muuntamiseksi alkuperäisestä tiivistettyyn muotoon.
1. Hash_equals
Tämä toiminto vertaa kahta merkkijonoa samanaikaisesti riippumatta siitä ovatko ne yhtä suuria vai eivät. Tämä toiminto palauttaa TOSIT, kun merkkijonot ovat tasa-arvoiset, ja FALSE, jos merkkijonot eivät ole yhtä suuret. Molempien argumenttien tulisi olla samat merkkijonojen vertailussa. Muussa tapauksessa se palaa vääräksi edes vertaamalla merkkijonoja aakkosjärjestyksessä, ja joskus merkkijonon pituus voidaan paljastaa myös ajoitushyökkäyksen tapauksessa.
2. Hash_final
Tämä toiminto palauttaa tähän toimintoon siirretyn syöttöjonon tiivistelmän. Kun raa'an ulostulon arvoksi asetetaan TRUE, se antaa raa'an binaaritiedon ja kun se on asetettu FALSE, se antaa pienimuotoisen heksadesimaaliluvun. Tämä funktio palauttaa merkkijonon lasketun heksadesimaalisen kokonaisuuden tulosteena.
3. Hash_init
Tätä toimintoa käytetään yhdessä hajautusalgoritmien kanssa, ts. Md5 (), sha () jne. Tämä toiminto yhdessä hajautusalgoritmien kanssa tuottaa ulostulon käytettäväksi hash_update (), hash final () jne. Kanssa. merkkijonona tai muuttujana ja siirretään mille tahansa toiminnoista.
4. Hash_copy
Tätä toimintoa käytetään kopioimaan hajautuskonteksti. Funktion syötteenä välitetty merkkijono on hajautettu jollakin algoritmilla, jota käytetään hash_init () -toiminnossa, ja vastaava lähtö olisi hajautettu merkkijono, joka välitetään tähän funktioon. Tämä toiminto palauttaa hash_init-funktion antaman tuotosmuodon.
Esimerkkejä hajautustoiminnosta PHP: ssä
Seuraava on luettelo PHP: n hajautusfunktiosta, joka selitetään yksityiskohtaisesti,
Esimerkki # 1
Koodi:
<_?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";
?>
lähtö:
Esimerkki 2
Koodi:
<_?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));
?>
lähtö:
Esimerkki 3
Koodi:
<_?php$hash = hash_init('sha1');
hash_update($hash, 'This is an example of PHP Hash function');
echo hash_final($hash);
?>
lähtö:
johtopäätös
Tässä artikkelissa keskustelimme siitä, mikä on hajauttaminen ja sen eri algoritmeista. Keskustelemme myös muutamista hajautustoiminnoista, joita PHP käyttää tietojen salaamiseen haitallisten ja haavoittuvien hyökkäysten estämiseksi. Näiden hyökkäysten takia tiedot eivät ole turvallisia ja tietoja menetetään. Joten hajautustekniikka otettiin käyttöön siten, että tietoja ei menetetä ja se suojataan useilla hyökkäyksillä.
Suositellut artikkelit
Tämä on opas hajautustoimintoon PHP: ssä. Tässä keskustellaan sen toimimisesta, syntaksista ja PHP: n 4 parhaimmasta hajautustoiminnosta esimerkkeinä ja koodin toteutuksella. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja-
- PHP-toimintojen tyypit ja esimerkit
- Kuinka tarkistaa Palindrome PHP: llä?
- Assosiatiivisen taulukon lajittelu PHP: ssä
- Kuinka muuntaa päivämäärämuodon PHP: ssä?