Bcrypt heslo Generátor
Okamžitě vygenerujte bezpečné hash hesel bcrypt ve svém prohlížeči. Vyberte si nákladový faktor a hash hesla na straně klienta – zcela soukromé a zdarma.
Okamžitě vygenerujte bezpečné hash hesel bcrypt ve svém prohlížeči. Vyberte si nákladový faktor a hash hesla na straně klienta – zcela soukromé a zdarma.
bcrypt je funkce pro hašování hesel navržená Nielsem Provosem a Davidem Mazièresem v roce 1999, odvozená ze šifry Blowfish. Na rozdíl od univerzálních hashovacích funkcí, jako je SHA-256, je bcrypt záměrně pomalý – a konfigurovatelně pomalý, prostřednictvím parametru cost – což je přesně vlastnost, kterou hash hesel potřebuje. Rychlejší hašovací funkce umožňuje útočníkům brutálně vynutit více kandidátů za sekundu; pomalejší je omezuje.
bcrypt také automaticky zahrnuje sůl na heslo, čímž eliminuje celou třídu útoků na základě předem vypočítaných duhových tabulek. Parametr salt a cost jsou uloženy jako součást výstupu bcrypt, takže ověření vyžaduje pouze uložený hash a kandidátské heslo – žádná samostatná správa salt. Tato kombinace pomalosti, soli a samostatného formátu udělala z bcrypt výchozí hash hesla po dvě desetiletí a dnes je to silná volba.
Moderní alternativy existují. Argon2 vyhrál v roce 2015 soutěž Password Hashing Competition a nabízí kromě časové tvrdosti také tvrdost paměti. scrypt nabízí podobné vlastnosti. Pro nové designy je doporučená volba Argon2id. bcrypt zůstává přijatelný a široce nasazený, zejména v prostředích, kde není k dispozici Argon2.
Ukládání hesel jako prostého textu je nesprávné. Jejich ukládání pomocí rychlého hashe, jako je SHA-256, je sotva lepší – moderní GPU počítají miliardy hashů SHA-256 za sekundu, takže útoky hrubou silou proti jakémukoli běžnému heslu jsou proveditelné během několika hodin. Záměrná pomalost bcryptu posouvá ekonomiku: při nákladovém faktoru 12 stráví útočník zhruba 250 ms na kandidátské heslo, takže hrubá síla je nepraktická pro jakékoli netriviální heslo.
Automatická sůl na heslo od bcryptu také poráží útoky na rainbow table. Dva uživatelé se stejným heslem produkují různé bcrypt hash, protože jejich soli se liší. Narušení databáze hesel neumožňuje útočníkovi rychle identifikovat běžná hesla nebo předem vypočítané tabulky.
Zadejte heslo, vyberte cenu, získejte hash.
bcrypt používá fázi nastavení klíče modifikované šifry Blowfish, která se opakuje 2xkrát. Faktor nákladů je logaritmický – cena 12 je dvakrát pomalejší než cena 11, čtyřikrát pomalejší než cena 10. Toto logaritmické škálování umožňuje správcům postupně zvyšovat náklady s tím, jak se zlepšuje hardware, bez předělání systému.
Výstupní formát je $version$cost$saltAndHash, kde saltAndHash je zakódován v base64 s vlastní abecedou. Verze je obvykle $2b$ (moderní varianta s opravenou chybou) nebo $2y$ (specifická pro PHP, ekvivalent). Sůl je 16 bajtů; hash je 24 bajtů; dohromady kódují do 53 znaků custom-base64.
Maximální vstupní délka je 72 bajtů (limit délky klíče Blowfish). Delší hesla jsou tiše zkrácena, což je dlouhotrvající bcrypt vtip. Nejlepším postupem je buď omezit délku hesla na 72 bajtů, nebo pre-hash pomocí SHA-256, aby se normalizovala délka před bcrypt.