Autor Zpráva
MS.
Profil *
V DB mám uložené heslá zahashované pomocou sha1. Chcem aby, keď užívateľ zabudne heslo, napísal svoj mail, kde mu heslo pošlem. Ako ale dostanem späť heslo v normalnej podobe, ak ho už vo formulári na registráciu ukladám do premennej zahashované?
Leinad
Profil
Těžko, s pomocí rainbow table by se to mohlo povést. Za jakým účelem hashuješ?
MS.
Profil *
Leinad:
Nieje nebezpečné pracovať s heslami a ukladať hesla do DB nezahashované?
Leinad
Profil
Je to nebezpečné, protože při úniku dat by unikla hesla v čitelné podobě.
Pokud by se někdo dostal jen k hashům hesel, je(mělo by být) získání hesel náročné.
Bubák
Profil
MS.:
Ako ale dostanem späť heslo v normalnej podobe
Nejlepší je, pokud to nijak nejde, doporučuje se používat solený hash.
Obnovu hesla jde řešit různě, od zaslání nového hesla po jednorázový token sloužící k obnově hesla. Zkus pohledat, pro začátek ve zdejší diskusi.
Keeehi
Profil
MS.:
Nieje nebezpečné pracovať s heslami a ukladať hesla do DB nezahashované?
Ano je. A právě proto hesla hashuješ. Aby nešly už nikdy zpětně získat. Kdyby existoval postup, jak bys z hashe mohl získat původní heslo abys ho mohl uživateli poslat, pak by přece mohl útočník použít stejný postup, takže hashování by bylo úplně zbytečné.
Odpověď tedy je, že to nejde. Jak se to řeší popsal Bubák v [#5].

V DB mám uložené heslá zahashované pomocou sha1.
To už se dnes za moc bezpečné nepovažuje. I když stále lepší než prostý text.
Předpokládám, že používáš PHP a tam, aby se to programátorům co nejvíce ulehčilo a aby v tom udělali co nejméně chyb existují funkce password_hash a další z rodiny password_*. Měly by zajistit, že v každé verzi PHP se použije vždy právě aktuální best practice pro hašování hesel s tím, že interface zůstává stejný. Tudíž není potřeba měnit kód a hesla se hashují vždy bezpečněji a bezpečněji.
Leinad
Profil
Tak jsem si četl o password_hash a nepovažuju to za dobrý nápad.
Radši používám funkce, které mají v dalších verzích stejné výsledky(kromě opravy bugů.)
Keeehi
Profil
Leinad:
Ano, sice může mít jiný výstup (tedy ona ho má vždy jiný kvůli náhodné soli pokud ji přímo neurčíš) ale to ničemu nevadí. Funkce password_verify je a bude zpětně kompatibilní. Tedy nové verze budou umět pracovat i s tím, co vytvořily předchozí verze password_hash. Jak už jsem psal, je to navržené tak, aby jsi nemusel měnit kód a aplikace hashovala vždy podle nejnovějších standardů. Já v tom tedy problém nevidím.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: