Kezdőoldal » Számítástechnika » Programozás » Kérdés az md5 () PHP függvénny...

Kérdés az md5 () PHP függvénnyel kapcsolatban?

Figyelt kérdés
Sziasztok! Jelenleg egy regisztrációs rendszert írok, amelyhez titkosítás gyanánt az md5() függvényt szeretném használni (leginkább jelszavak titkosításához). Igen ám, de bejelentkezésnél az összehasonlításhoz valahogy vissza kellene fordítani a titkosított kódot, hogy megvizsgálhassam a felhasználó és az adatbázisba elmentett jelszó azonosságát. Nem nagyon van ötletem ehhez, tudnátok nekem mondani megoldásokat (esetleg más függvényeket)?

2016. febr. 2. 20:05
 1/4 coopper ***** válasza:
100%

Szia.


Rossz a megközelités, és nem is forditható vissza az MD5 (ennek pont ez a lényege), és az MD5 már egy kicsit elavult keress más függvényt pl. SHA512 mint olyan.


A megközelités pediglen a kovetkező kell hogy legyen :


Van az adatbázisban egy SHA512-vel kódolt mező.


Bekéred a jelszót, átalakitod SHA512-vé és a két hash-t összehasonlitod (a jelszóból generált hash-t és a letárolt hash-t) ha a kettő egyforma akkor valószinűleg a jó jelszót irta be az user.


Sok sikert.

üdv.

2016. febr. 2. 20:23
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
50%

1. Önmagában ne használd az md5-öt, visszafejthető. Minimum használj több ellenőrzőösszeg-függvényt egymásba ágyazva, és "sózva":

például így:

sha1 ("hossziveletlenszove".md5("ezishosszuveletlenszoveg".$jelszo))


Vagy van a még modernebb password_hash() függvény:

[link]


2. Az md5 (illetve az sha1 sem) nem titkosít, ellenőrzőösszeget készít. Ez egyirányú művelet.


3. Hogy ellenőrizd, hogy a megadott jelszó jó-e a következő folyamatot kell elvégezni:

- Regisztráláskor:

felhasználó megadja a felhasználónevet és jelszót -> a jelszóról ellenőrzőösszeg készül -> a felhasználónév és az ellenőrzőösszeg eltárolásra kerül

- Bejelentkezéskor:

felhasználó megadja a felhasználónevét és a jelszót -> a jelszóról ellenőrzőösszeg készül -> ha a felhasználónév és a hozzá tartuzó jelszó ellenőrzőösszege egyezik, akkor beengedjük a felhasználót

2016. febr. 2. 20:23
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:
Köszönöm szépen mindkét választ! Nagyon hasznosak voltak számomra.
2016. febr. 2. 20:31
 4/4 anonim ***** válasza:

sha1-re ugyanaz érvényes, mint az md5-re, ne használd, több sebből vérzik, "elavult"


"Minimum használj több ellenőrzőösszeg-függvényt egymásba ágyazva, és "sózva""


Ez nem boszorkányság, meg bitmágia, hogy még patkányfarkat is dobj bele, hanem matematika.


A sózás jó, például arra, hogy két felhasználó azonos jelszavának ne legyen azonos hash kimenete. Ez oké (ja, és mindenhol különböző só legyen, amit eltárolsz). Viszont a több hash függvény egymásba ágyazása egyáltalán nem biztos, hogy jó, leginkább csökkenti az eredményteret. Pl. sorban 10x hash+só, ilyeneknek semmi értelme.

2016. febr. 2. 21:39
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!