Räsimisfunktsioon PHP-s - Kuidas räsimisfunktsioon töötab php-s süntaksiga?

Lang L: none (table-of-contents):

Anonim

Sissejuhatus rämpsfunktsioonile PHP-s?

Enne kui mõistame PHP-s räsifunktsiooni kontseptsiooni, mõistame, mis räsimine on?

Rähistamine on tähemärkide komplekti muutmine kindla pikkusega väärtuseks või võtmeks, mis tähistab algset stringi. Räsimist kasutatakse andmebaasis ka üksuste indekseerimiseks ja hankimiseks, kuna lühemate räsitud klahvide abil on üksuse leidmine kiirem ja lihtsam kui algse väärtusega. Seda kasutatakse ka paljudes krüpteerimisalgoritmides äri vaatevinklist.

PHP-s kasutatakse andmete krüptimiseks räsimisfunktsioone ja algoritme, nii et otsimine muutuks algväärtusest lihtsamaks ja kiiremaks. Räsifunktsioone kasutatakse protsessi hõlbustamiseks, kuna see indekseerib algse väärtuse ja seda kasutatakse igal ajal, kus vaja. See on alati ühesuunaline toiming. Hea räsifunktsioon ei tohiks anda sama väljundit või räsiväärtust kahe või mitme kasutaja sisestatud erineva sisendi jaoks. Kui räsifunktsioon loob sama väljundi kahe erineva sisendi jaoks, nimetatakse seda protsessi kokkupõrkeks.

Kuidas räsimisfunktsioon töötab ja selle süntaks?

PHP on serveripoolne programmeerimiskeel ja selle peamine roll on töödelda konkreetse rakenduse jaoks vajalikke taustafunktsioone. Selles protsessis mängib autentimine üliolulist rolli, kuna haavatavused saavad andmeid hõlpsalt ära kasutada. Üks andmete turvamise viis on andmebaasi säilitamine algsel kujul, kuid see võib viia olukorrani, kus sissetungija / volitamata isik saab andmeid hõlpsalt võtta ja neid võib kahjustada. Selle olukorraga saab hõlpsalt hakkama Hashing-funktsioonide abil.

Räsifunktsioonid krüpteerivad andmeid nende tegelikul kujul, muutmata nende tähendust. Niisiis, kui kasutaja sisestab andmed tegelikul kujul, krüpteeritakse andmed taustaprogrammis ja seega toimub andmeprotsessi autentimine ja autoriseerimine. Kõige sagedamini kasutatavad räsialgoritmid on md5 (), sha1 () ja mõned räsifunktsioonid. Neid algoritme kasutab arendaja kasutaja sisestatud andmete õigsuse tõestamiseks või selle jätkamiseks.

1. MD5 ()

See algoritm on üks võimsaid räsimisalgoritme, mis arvutab md5 räsi, st konkreetse stringi 16 või 32-tähemärgise kuueteistkümnendarvu räsi. See läbitud string teisendatakse krüpteeritud kuueteistkümnendsüsteemiks.

Süntaks: string md5 ($ string, $ getRawOutput)

Ülaltoodud süntaks näitas sisestustringina stringi $. Toores väljund on valikuline sisend, kuna arendaja soovib selle teisendada 16-bitiseks või 32-bitiseks. Kui 16 bitti peab lubama, tuleb see seada väärtuseks TRUE Boolean ja edastada funktsioonile. Kui seda pole määratud, siis seadistatakse 32-bitine vaikeseade automaatselt.

Näide: md5 (EduCBA, TRUE)

2. SHA1 ()

See algoritm on üks võimsaid räsimisalgoritme, mis arvutab sha1 räsi, st kindla sümboli 20 tähemärgise kahendvormingu räsi või 40-tähemärgise heksadecimendi arv. See läbitud string teisendatakse krüpteeritud kuueteistkümnendsüsteemiks.

Süntaks: string sha1 ($ string, $ getRawOutput)

Ülaltoodud süntaks näitas sisestustringina stringi $. Toores väljund on valikuline sisend, kuna arendaja soovib, et see oleks 20 bitist või 40 bitist. Kui 20 bitti peab lubama, tuleb see seada väärtuseks TRUE Boolean ja edastada funktsioonile. Kui seda pole määratud, siis seatakse vaikimisi 40 bitti automaatselt.

Näide: sha1 (EduCBA, TRUE)

Räsimisfunktsioon PHP-s

Allpool on loetletud mõned räsimisfunktsioonid, mida PHP-s kasutatakse andmete krüptimiseks / teisendamiseks algsest räsitud kujul.

1. Hash_equals

See funktsioon võrdleb kahte stringi korraga, kas nad on võrdsed või mitte. See funktsioon tagastab väärtuse TRUE, kui stringid on võrdsed, ja FALSE, kui stringid pole võrdsed. Mõlemad argumendid peaksid olema samad, et stringe võrrelda, vastasel korral tagastatakse need kohe valena, isegi ilma stringide võrdlust tähestikulises järjekorras ja mõnikord võib stringi pikkus ilmneda ka ajastamise rünnaku korral.

2. Hash_final

See funktsioon tagastab sellele funktsioonile edastatud sisestussageduse räsi kokkuvõtte. Kui töötlemata väljund on seatud väärtusele TRUE, annab see tooreid binaarandmeid ja kui see on seatud väärtusele FALSE, annab ta väiketähelise kümnendkoha arvu. See funktsioon tagastab väljundina stringi arvutatud kuueteistkümnendarvu.

3. Hash_init

Seda funktsiooni kasutatakse koos räsimisalgoritmidega, st md5 (), sha () jne. See funktsioon koos räsimisalgoritmidega annab väljundi kasutamiseks koos räsi_uuendus (), räsi lõplik () jne. stringi või muutujana ja edastatud ühele funktsioonidest.

4. Hash_copy

Seda funktsiooni kasutatakse räsimise konteksti kopeerimiseks. Funktsiooni sisendina edastatud stringi räsib üks funktsioonis hash_init () kasutatud algoritmidest ja vastav väljund oleks sellele funktsioonile edastatud räsitud string. See funktsioon tagastab väljundi räsitud vormi, mille annab funktsioon hash_init.

Näited räsimisfunktsioonist PHP-s

Järgnevalt on üksikasjalikult lahti seletatud PHP-s räsifunktsiooni loetelu,

Näide nr 1

Kood:

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

Väljund:

Näide 2

Kood:

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

Väljund:

Näide 3

Kood:

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

Väljund:

Järeldus

Selles artiklis arutasime rämpsust ja selle erinevaid algoritme. Samuti arutasime mõnda rämpsfunktsiooni, mida PHP-s kasutatakse andmete krüptimiseks, et vältida pahatahtlikke ja haavatavaid rünnakuid. Nende rünnakute tõttu pole andmed turvalised ja andmed kaovad. Niisiis võeti kasutusele räsimistehnika, et andmed ei läheks kaduma ja see oleks tagatud mitmesuguste rünnakutega.

Soovitatavad artiklid

See on juhis PHP hashing-funktsioonist. Siin käsitleme selle toimimist, süntaksit ja PHP-s 4 parimat räsimisfunktsiooni koos näidete ja koodi rakendamisega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. PHP funktsioonide tüübid koos näidetega
  2. Kuidas kontrollida palindroomi PHP-s?
  3. Assotsiatiivse massiivi sorteerimine PHP-s
  4. Kuidas teisendada kuupäevavormingut PHP-s?