Hashuje hesla tak, aby šla později ověřit bez ukládání původního hesla.
Bcrypt Hash
Ověř identitu bez ukládání čitelného textu. Implementace s prioritou lokality.
Generovat hash
Ověřit hash
Ochrana databází hesel a autentizačních systémů.
Reverzibilní šifrování, ochranu souborů nebo generování tokenů.
Nejdřív mentální model, pak důvěra ve výstup.
Krátké a praktické vysvětlení, které ukáže k čemu nástroj je, jak funguje a kde se lidé nejčastěji pletou.
Jednoduše řečeno
Bcrypt je hashovací algoritmus zaměřený na hesla. Přemění heslo na jednosměrný výsledek, který lze později porovnat, ale ne vrátit zpátky do původní podoby.
Jak to funguje
Bcrypt kombinuje heslo s náhodnou solí a opakuje výpočetně drahou operaci mnohokrát. To zpomaluje každý pokus útočníka, což je přesně to, co při ochraně hesel chcete.
Heslo dovnitř, pomalý hash ven
Bcrypt přidává sůl a výpočetní náročnost, aby bylo ověření použitelné pro vás, ale drahé pro útočníka.
Kde se hodí
- Ukládání uživatelských hesel v databázi webové aplikace.
- Testování ověřování hesel během vývoje.
- Migrace ze starých rychlých hashů na bezpečnější ukládání hesel.
Častý omyl
Lidé někdy chtějí pomocí bcryptu chránit data, která pak chtějí znovu dešifrovat. To je špatný nástroj. Bcrypt je pro ověřování hesel, ne pro návrat k původnímu tajemství.
Historie / zajímavost
Bcrypt byl navržen tak, aby zůstával záměrně drahý na výpočet. U hesel je pomalost výhoda, protože útočníkům zdražuje hrubou sílu.
Bezpečnostní poznámka
Work factor je potřeba nastavit dostatečně vysoko, aby brzdil útočníky, ale zároveň nezpomalil legitimní přihlášení víc, než je přijatelné.
Jít více do hloubky
Proč je důležitá sůl
Sůl zajistí, že stejné heslo vytvoří u různých uživatelů jiný hash. Tím se rozbíjejí jednoduché předpočítané útoky jako rainbow tables.
Proč záleží na cost faktoru
Cost faktor určuje, kolik práce bcrypt provede. Vyšší hodnota zvyšuje odolnost proti hádání, ale prodlužuje i legitimní ověřování.