Kivonási funkció a PHP-ben Hogyan működik a hash funkció a php-ben a szintaxissal?

Tartalomjegyzék:

Anonim

Bevezetés a hash funkcióba a PHP-ben?

Mielőtt megértenék a hash-funkció fogalmát a PHP-n, megértsük, mi is a hashing

A hashizálás egy karakterkészlet átalakítása rögzített hosszúságú értékre vagy kulcsra, amely az eredeti karakterláncot képviseli. A hashizálást az adatbázisban is használják az elemek indexeléséhez és visszakereséséhez, mert rövidebb hasított kulcsok segítségével gyorsabb és könnyebb megtalálni az elemeket, mint az eredeti értékkel. Számos titkosítási algoritmusban is felhasználják üzleti szempontból.

A PHP-ben hash-funkciókat és algoritmusokat használnak az adatok titkosításához, hogy a keresés könnyebbé és gyorsabbá váljon, mint az eredeti érték. A hash-funkciókat a folyamat megkönnyítése érdekében használják, mivel az eredeti értéket indexel, és minden alkalommal használják, ahol csak szükséges. Ez mindig egyirányú művelet. Egy jó hash-funkciónak nem szabad ugyanazt a kimenetet vagy hash-értéket előállítania a felhasználó által megadott két vagy több különféle bemenethez. Ha a hash-funkció ugyanazt a kimenetet hozza létre két különböző bemenet esetén, ezt a folyamatot ütközésnek nevezzük.

Hogyan működik a hashifunkció és annak szintaxisa?

A PHP egy szerveroldali programozási nyelv, és legfontosabb szerepe az, hogy feldolgozza az adott alkalmazáshoz szükséges háttér-funkciókat. Ebben a folyamatban a hitelesítés alapvető szerepet játszik, mivel a sebezhetőségek könnyen felhasználhatják az adatokat. Az adatok biztosításának egyik módja az eredeti formában az adatbázisban való tárolás, de ez olyan helyzethez vezethet, hogy a betolakodó / illetéktelen személy könnyen átveheti az adatokat, és veszélyeztethető. Ez a helyzet a Hashing funkciók segítségével könnyen kezelhető.

A has-függvények titkosítják az adatokat valódi formájukban, anélkül hogy megváltoztatnák azok jelentését. Tehát, amikor a felhasználó valódi formájában írja be az adatokat, az adatok titkosítva kerülnek a háttérbe, és így megtörténik az adatfolyamat hitelesítése és engedélyezése. A leggyakrabban használt hash algoritmusok az md5 (), sha1 () és néhány hash függvény. Ezeket az algoritmusokat a fejlesztő használja a felhasználó által megadott adatok helyes hitelesítésére, vagy arra, hogy ne folytassa a folyamatot.

1. MD5 ()

Ez az algoritmus az egyik hatékony kivonási algoritmus, amely kiszámítja az md5 kivonatot, azaz egy adott karakterlánc 16 vagy 32 karakterű hexadecimális számának kivonatát. Ezt az átadott karakterláncot titkosított hexadecimális alakra konvertálják.

Szintaxis: md5 string ($ string, $ getRawOutput)

A fenti szintaxis a $ karakterláncot jelölte bemeneti karakterláncként. A nyers kimenet opcionális bemenet, mivel a fejlesztő azt akarja konvertálni 16 bitesre vagy 32 bitesre. Ha a 16 bitnek engedélyeznie kell, akkor azt TRUE logikai értékre kell állítani és át kell adni a függvénynek. Ha nincs beállítva, akkor a 32 bites alapértelmezett érték automatikusan megváltozik.

Példa: md5 (EduCBA, TRUE)

2. SHA1 ()

Ez az algoritmus az egyik hatalmas kivonatoló algoritmus, amely kiszámítja a sha1 kivonatot, azaz egy karakterlánc 20 karakteres bináris formátumát vagy 40 karakter hexadecimális számát. Ezt az átadott karakterláncot titkosított hexadecimális alakra konvertálják.

Szintaxis: sha1 karakterlánc ($ string, $ getRawOutput)

A fenti szintaxis a $ karakterláncot jelölte bemeneti karakterláncként. A nyers kimenet opcionális bemenet, mivel a fejlesztő azt akarja, hogy 20 bites vagy 40 bites legyen. Ha a 20 bitnek engedélyeznie kell, akkor azt TRUE logikai értékre kell állítani, és át kell adni a függvénynek. Ha nincs beállítva, akkor az alapértelmezett 40 bit automatikusan bekapcsol.

Példa: sha1 (EduCBA, TRUE)

Kivonási funkció a PHP-ben

Az alábbiakban felsorolunk néhány olyan kivonási funkciót, amelyet a PHP-ben használnak az adatok titkosítására / konvertálására az eredeti formátumból kivonatos formába.

1. Hash_equals

Ez a funkció összehasonlítja a két karakterláncot egyszerre, függetlenül attól, hogy egyenlők-e vagy sem. Ez a funkció igaz értéket ad vissza, ha a karakterláncok azonosak, és hamis, ha a karakterláncok nem azonosak. Mindkét érvnek azonosnak kell lennie a karakterláncok összehasonlításához, különben hamisan tér vissza, anélkül, hogy a karakterláncokat ábécé szerint összehasonlítanák, és időnként támadás esetén a karakterlánc hossza is felfedhető.

2. Hash_final

Ez a függvény visszaadja az ehhez a funkcióhoz átadott bemeneti karakterisztika kivonatot. Ha a nyers kimenetet TRUE-ra állítja, akkor nyers bináris adatokat ad, és ha FALSE-re állítja, kisbetűs hexadecimális számot ad. Ez a függvény outputként adja vissza a karakterlánc számított hexadecimális kivonatát.

3. Hash_init

Ezt a funkciót a hash algoritmusokkal együtt használják, azaz az md5 (), sha () stb. egy karakterláncban vagy változóban, és átadásra kerül a függvények bármelyikére.

4. Hash_copy

Ez a funkció a kivonási környezet másolására szolgál. A függvény bemeneteként megadott karakterláncot a hash_init () függvényben használt algoritmusok egyike hasítja, és a megfelelő kimenet lenne a kivonatolt karakterlánc, amelyet átadnak erre a funkcióra. Ez a függvény a hash_init függvény által kiadott kivonat formáját adja vissza.

Példák a hash funkcióra a PHP-ben

Az alábbiakban a PHP-ben található kivonási funkciók részleteit ismertetjük,

1. példa

Kód:

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

Kimenet:

2. példa

Kód:

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

Kimenet:

3. példa

Kód:

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

Kimenet:

Következtetés

Ebben a cikkben megvitattuk, hogy mi történt és a különféle algoritmusai. Megbeszéltük néhány, a PHP-ben használt adatkezelési funkciót az adatok titkosításához, hogy elkerüljék a rosszindulatú és sebezhető támadásokat. Ezen támadások miatt az adatok nem biztonságosak, és az adatok elvesznek. Tehát bevezették a hashizálási technikát, hogy ne veszítsen el adatvesztést, és különféle támadásokkal biztosítsa azt.

Ajánlott cikkek

Ez a PHP Hashing Function útmutatója. Itt tárgyaljuk annak működését, szintaxisát és a PHP top 4 kivonási funkcióját példákkal és a kód megvalósításával. A következő cikkeket is megnézheti további információkért -

  1. A PHP funkcióinak típusai példákkal
  2. Hogyan ellenőrizhetjük a Palindrome-ot a PHP-ben?
  3. Az asszociatív tömb rendezése a PHP-ben
  4. Hogyan lehet átalakítani a dátumformátumot a PHP-ben?