Geek tričko zdarma Python týden
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Pouze tento sleva až 80% na kurzy Python
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:1.10.2018 19:00

Zdravím programuji v .Net MVC a nyní dělám uživatele. A chtěl bych se zeptat, kterou použít hashovací funkci. Nejlépe aby byla moderní atd. Předem díky.

Zkusil jsem: Zkoušel jsem hledat všemožně na netu. A našel plno článků, ale stejně bych rád slyšel váš názor. Předem moc díky.

Chci docílit: Dobré bezpečnosti.

 
Odpovědět 1.10.2018 19:00
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Petr Kasnal
Martin Dráb:2.10.2018 1:15

Pokud hledáš hashovací funkci pro ukládání hesel, tak dobře poslouží kterákoliv z rodiny SHA2 (SHA-224, 256, 384, 512), ale měl bys hesla solit a hashovat iterativně. Díky tomu bude mít případný útočník problémy získat i slabší hesla.

Úplně nejlepší řešení je použít funkci, která je na hashování hesel přímo určená. Jedná se například o bcrypt, scrypt, Argon2 či PBKDF2. Nevím ale, zda některá z nich je jednoduše dostupná, možná budeš potřebovat externí knihovnu.

Nahoru Odpovědět  +1 2.10.2018 1:15
2 + 2 = 5 for extremely large values of 2
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na Martin Dráb
Petr Kasnal:2.10.2018 7:10

Moc děkuju za odpověď. Pomohla. A ty metody pracují přímo s nějakým tím hashem?

 
Nahoru Odpovědět 2.10.2018 7:10
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Petr Kasnal
Martin Dráb:2.10.2018 16:25

Moc děkuju za odpověď. Pomohla. A ty metody pracují přímo s nějakým tím hashem?

Pokud máš na mysli ty, co jsem jmenoval v druhém odstavci, tak ty na vstupu dostávají samotné heslo. Jejich cílem je se o všechno to hashování, solení atd. postarat automaticky, aby vývojář nemohl udělat chybu.

Editováno 2.10.2018 16:25
Nahoru Odpovědět  +1 2.10.2018 16:25
2 + 2 = 5 for extremely large values of 2
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na Martin Dráb
Petr Kasnal:2.10.2018 19:38

Jo rozumím. A ten typ toho hashe si potom zvolím sám? Koukal jsem právě na tu jednu metodu a tam byl číselník, kde nejspíš byly ty typ hashování.

 
Nahoru Odpovědět 2.10.2018 19:38
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Petr Kasnal
Martin Dráb:2.10.2018 20:12

Ano, třeba PBKDF2 dovoluje si zvolit hashovací funkci a další parametry (sůl, počet iterací). Myslím, že ale některé z metod používají něco vlastního a hashovací funkci volit nemusíš.

Každopádně, viz můj první příspěvek – pokud budeš muset volit hashovací funkci, tak rodina SHA-2 je dobrá volba. Samozřejmě, můžeš zkusit i SHA-3 (Keccak), ale nevím, jak moc je implementovaná v různých knihovnách atd.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 2.10.2018 20:12
2 + 2 = 5 for extremely large values of 2
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na Martin Dráb
Petr Kasnal:2.10.2018 20:28

Super bezvadně vysvětlený moc děkuju. :)

 
Nahoru Odpovědět 2.10.2018 20:28
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.