Autor | Zpráva | ||
---|---|---|---|
Bohuš Profil * |
#1 · Zasláno: 6. 3. 2009, 19:54:39
Ahojte chtel bych zobrazit heslo zakodovane v sha1 ale nejak se mi nedari porad se mi na vystupu zobrazuje v sha1 ale netusim proc prece by to melo byt takhle ne?
$vybrat=mysql_query("select * from adm_passwd"); $vysledek=mysql_fetch_array($vybrat); echo sha1($vysledek['password']); ztkousel jse mruzne kombinace ale porad se mi zobrazuje jen kombinace cisel a pismen proste hash... nevite nekdo prosim co s tim? |
||
Tomashek Profil |
#2 · Zasláno: 6. 3. 2009, 19:58:02
hash nejde odkodovat..jedině porovnávat
|
||
SwimX Profil |
#3 · Zasláno: 6. 3. 2009, 19:58:34
Bohuš
echo sha1($vysledek['password']); todle heslo zahešuje a zobrazí. Pokud ho máš už v databízi zahešované, tak ho zahešuješ podruhé. Proto je to heš a né šifra. Nejde rozhešovat. (vedly se tu diskuze o prolomení md5, a použití rainbow tables, ale myslím, že s sha1 to nepůjde použít) |
||
Bohuš Profil * |
#4 · Zasláno: 6. 3. 2009, 19:59:29
to nechapu jak porovnavat $vysledek['password'] s cim, a jak to pak vypsat echem???
|
||
SwimX Profil |
#5 · Zasláno: 6. 3. 2009, 20:02:12
Bohuš
dejme tomu že se uživatel zaregistruje. Do dataabáze si uložíš jeho Jméno a zahešované heslo. Uživatel se chce přihlásit. Zadá své jméno a heslo (ve tvaru třeba: ahoj) Ty se připojíš do databáze a porovnáš jméno = jméno a heslo (v databázi zahešované) s sha1($_POST['heslo']) heše stejných slov budou stejné. Takže ty nevíš jaké uživatel má heslo (=bezpečnost a soukromí uživatele) ale přesto ho jsi schopen přihlásit. |
||
Bohuš Profil * |
#6 · Zasláno: 6. 3. 2009, 20:03:10
SwimX
no to je pekny ale co kdyz je to heslo pro uzivatele ktere si zadal a mela by mu pak treb prijit na email odpoved s jeho heslem, neco jako dekujeme za registraci vas login je a vase heslo je.... precemu tam nemuzu poslat hash :-) |
||
Bohuš Profil * |
#7 · Zasláno: 6. 3. 2009, 20:04:50
[#6]tak to jsem spatne pochopil myslel jsem nak ro porovnat na vypis porovnavani pri loginu je mi jasne :-)
|
||
SwimX Profil |
#8 · Zasláno: 6. 3. 2009, 20:05:11
Bohuš
mejl posíláš při registraci. Takže když odešle registrační formulář tak v proměnné $_POST['heslo'] je jeho heslo (ahoj). To mu pošleš na email a do databáze uložíš sha1($_POST['heslo']) |
||
TomášK Profil |
#9 · Zasláno: 6. 3. 2009, 20:05:44
Pokud máš v databázi uložený hash - písmena a čísla - nedokážeš z něj žádným způsobem vydolovat původní heslo, i kdyby ses rozkrájel (a kdyby ses rozkrájel a podařilo se ti to, budeš slavný :) ). Hesla se ukládají jako hash právě proto, aby nešla přečíst - když se ti někdo vloupne do databáze a uvidí hashe, nedokáže zjistit, jaké má kdo heslo.
|
||
Jarko Profil * |
#10 · Zasláno: 6. 3. 2009, 20:06:09
treba takhle?
if(sha1($_POST['password'] == $vysledek['password']) { echo "Heslo se shoduje"; }else{ echo "Heslo se neshoduje"; } |
||
SwimX Profil |
#11 · Zasláno: 6. 3. 2009, 20:06:55
„myslel jsem nak ro porovnat na vypis“
nevím co jeporovnání na výpis. Tady jde o soukromí uživatelů. Někkteří mají jedno heslo na vše. Když si ho zobrazíš a máš i jejich email, tak se jim tam můžeš dostat. To není slušné. jejich heslo (pokud je zahešované) nedostaneš. smiř se s tím. Můžeš do databáze ukládat přímo heslo, bez heše, ale to je moc fuj! |
||
Jarko Profil * |
#12 · Zasláno: 6. 3. 2009, 20:08:06
OPRAVA
if(sha1($_POST['password']) == $vysledek['password']) { echo "Heslo se shoduje"; }else{ echo "Heslo se neshoduje"; } snad je to td dobre.. |
||
Bohuš Profil * |
#13 · Zasláno: 6. 3. 2009, 20:10:08
oki, jeste teda jinak co treba kdyz mas skript pro zmenu hesla a chses aby na te strance byl zobrazen login i heslo ktere si uzivatel driv zadal , proste navstivi stranku zmen heslo kde bude mit vypsane aktualni heslo....jinak moc diky za spolupráci
|
||
Bohuš Profil * |
#14 · Zasláno: 6. 3. 2009, 20:11:56
sakra nez jsem to natukal.....ok diky mockrat vsem
|
||
Jarko Profil * |
#15 · Zasláno: 6. 3. 2009, 20:19:50
„oki, jeste teda jinak co treba kdyz mas skript pro zmenu hesla a chses aby na te strance byl zobrazen login i heslo ktere si uzivatel driv zadal , proste navstivi stranku zmen heslo kde bude mit vypsane aktualni heslo....jinak moc diky za spolupráci“
nebude mit vypsane zadne aktualni heslo.. kdyz jej zapomene tak mu vygenerujes nove a to mu poslel.. v tomto pripade nove==jine ;) |
||
Joker Profil |
#16 · Zasláno: 6. 3. 2009, 20:22:32
...a už je to tady zas.
Návrh: Co přidat do FAQ položku "Jak rozkódovat heslo v MD5/SHA1/..."? Bohuš Ahojte chtel bych zobrazit heslo zakodovane v sha1 ale nejak se mi nedari To není žádný kód, ale hash. Z pouhého hashe není možné získat vstup, kterým byl vytvořen- hash na to neobsahuje dost informací. Příklad: Myslím si dvě čísla, jejichž součet je 42. Jaká čísla si myslím? "Dekódování" hashe je vpodstatě jen složitější obdoba téhle úlohy. |
||
Jarko Profil * |
#17 · Zasláno: 8. 3. 2009, 17:12:12
„Myslím si dvě čísla, jejichž součet je 42. Jaká čísla si myslím?“
„"Dekódování" hashe je vpodstatě jen složitější obdoba téhle úlohy.“ Myslis si cislo 35 a 7.. a neptejte se me jak to vim.. :-D |
||
Časová prodleva: 15 let
|
0