Jump to content
GSForum - Segélyvonal

Jelszavak titkosítása


Recommended Posts

Posted

Még egy kérdésem van: Hogyan lehetne a jelszavakat titkosítani?

Egy esetben azonban le is kell kérdeznem az adatbázisból, és összehasonlítanom a felhasználó által beírttal.

De olyat is hallottam, hogy a posttal való küldés során akit érdekel, az úgyis el tudja csípni. :S Igaz ez? Érdemes a titkosítással foglalkozni?

Posted

Karakterenként xor mûvelet.

Az algoritmus alapja:

 

A xor B = C

C xor B = A

 

Tehát ugyanazzal rutinnal elvégezhetõ a kódolás és a dekódolás is.

Posted

Én a követlezõt csinálom.

Mikor regisztrál, a változó értékét az md5() függvénnyel titkosítom és így rakom el az adatbázisba (csak egyoldalú titkosítás).

Mikor bejelentkezik a változó értékét újra md5()-el átalakítom és ezt hasonlítom össze az adatbázissal.

Gyakorlatilag a jelszó visszafejthetetlen, csak az ismeri aki adta, persze ha valakinek van hozzáférése az adatbázishoz akkor neki nem kell az eredeti jelszó!

:D

Posted

Ez nagyon jó ötletnek tûnik... errõl az md5 nevû eljárásról már hallottam korábban is, de egyszerûen még rákeresve sem találtam róla hasznos információt. :(

egyszerûen $password = md5($HTTP_POST_VARS['password']); ?

Posted

Szerintem úgy is jó, nálam csak a zárójelen belül van változtatás.

$password=md5($_POST["password"]);

Elég hosszú kód lesz, ezért az adatbázisban adj neki elég karakter helyet!

Csinálj egy echo $password próbát, és meglátod az eredményt.

 

Az md5() A sztring MD5-típusú digitális kivonatát adja vissza.

Itt találsz róla többet

Posted

Tetszik. Kipróbáltam, mindenbõl - függetlenül attól, hogy hány karakterbõl áll - 32 karakteres, szuperbiztosnak tûnõ stringet kreál.

Az azonos stringbõl mindig ugyanolyan stringet generál. Ez nagyon jó az összehasonlításkor, de...

 

ha ugyanaz a végeredmény, akkor visszafejthetõ, nem? Például megjegyzem az ilyen láncot, és ha valahol ezt látom, akkor tudom, mibõl készült. :hááát: Értelmesebben megfogalmazva, akkor lehet olyan programot írni, amely véletlenszerû jelszavakat generál, ezeket md5-tel titkosítva eltárolja egy adatbázisban, majd minden beírt - md5-tel titkosított jelszónál - visszakeres, hozott-e õ is már létre ugyanilyen stringet. És ha igen, akkor ott van mellette a kiindulási alap is, a titkosítatlan jelszó. :hááát:

Posted

De, ha nem mindig ugyanazt a kódot eredményezi akkor nem fogja tudni összehasonlítani az adatbáziban lévõvel.

 

Értem, lehet egy véletlenszámmal kiegészíteni a beírt kódot, és akkor megint más a kód, de a felhasználó már nem azt a kódot kapja amit meg tud jegyezni.

 

A lottó csak 90 számból 5, és mégis kicsi az esélye a teli találatnak, itt még kisebb az esély annak, hogy ha megjegyzed a 32 karaktert akkor találsz egy teljesen ugyanolyan 32 karaktert mégegyszer.

Szerintem, de a feltörhetetlen kódot még keresik!

 

Egyébként a törvény elõirja, hogy ha a személyt azonositani lehet a tárolt adatokkal, akkor ezen adatokat védeni kell, mert ha kiderül, hogy az adatok tõled szivárogtak ki megbüntetnek.

Ezért minél jobban törekedni kell a tárolt adatok biztosításával!

Posted

Igen, egyetértek, ráadásul ez - az igen nagy lélegzetvételû munka egyébként - nem csak a honlapom lesz, hanem egy vizsgamunkám is. Jól is néznék ki titkosítatlan jelszavakkal! :D

Posted

Néhány megjegyzés: minden kód visszafejthetõ....

DE az md5 valahogy nem karakterenként kódol tehát az 'a' betû nem mindig "oasdhfnj322" (ez csak példa) szóval ha megjegyzed a jelszavadat: almafa és tudod hogy ez md5 el kódolva mit ad... akkor ha máshol látod ezt a kódsort tudni fogod, hogy a jelszó almafa...

 

Egy apró megjegyzés: A jelszótitkosításra nem csak a php alkalmas, hanem az MySQL is! Nem vagyok teljesen tisztában az eljárás elvi hátterével, de a könyvem Hash-nek nevezi. Az insert into nál kell használni:

password('$_POST[jelszo]')

 

És úgyan így kell ugyan így kell lekérdezni is!

Posted
...szóval ha megjegyzed a jelszavadat: almafa és tudod hogy ez md5 el kódolva mit ad... akkor ha máshol látod ezt a kódsort tudni fogod, hogy a jelszó almafa...

Ennél viszont komolyabb, ha írsz egy programot, ami maga generál jelszavakat, majd eltárolja titkosítva, Te csak beírod a látottat, és õ megkeresi ezt, majd kiírja, mibõl készítette...

Persze ehhez rengeteg, több millió adat kell, dehát elvileg lehetséges...

  • 2 weeks later...
Posted

Én használok jelszó titkosítást mind mysql mind file-ban.

az én módszerem:

<input type=password name=jelszform>

$jelszo = crypt(jelszo);

$jelszof = crypt($jelszoform);

ennek a kimenete ha:

echo $jelszo; után egy szép kis karaktersor lesz.

utána ezt tárolom valahol, és egy összehasonlítással ellenörzöm.

if ($jelszo == $jelszof) {

echo "Bejelentkeztél";

} else {

echo "hibás jelszó";

 

Háát röviden ennyi... (én az apache authentikálását biztonságosabbnak tartom)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...