Bcrypt lösenord Generator
Generera säkra bcrypt-lösenordshashar direkt i din webbläsare. Välj din kostnadsfaktor och hashlösenord på klientsidan – helt privat och gratis.
Generera säkra bcrypt-lösenordshashar direkt i din webbläsare. Välj din kostnadsfaktor och hashlösenord på klientsidan – helt privat och gratis.
bcrypt är en lösenords-hasningsfunktion designad av Niels Provos och David Mazières 1999, härledd från Blowfish-chifferet. Till skillnad från hashfunktioner för allmänna ändamål som SHA-256, är bcrypt medvetet långsam – och konfigurerbart långsam, via en kostnadsparameter – vilket är exakt den egenskap som en lösenordshashare behöver. En snabbare hash-funktion låter angripare brute-force fler kandidater per sekund; en långsammare begränsar dem.
bcrypt införlivar också salt per lösenord automatiskt, vilket eliminerar en hel klass av attacker baserade på förberäknade regnbågstabeller. Salt- och kostnadsparametern lagras som en del av bcrypt-utdata, så verifiering behöver bara den lagrade hashen och kandidatlösenordet – ingen separat salthantering. Denna kombination av långsamhet, salt och fristående format gjorde bcrypt till standardlösenords-hash i två decennier och ett starkt val idag.
Moderna alternativ finns. Argon2 vann 2015 Password Hashing Competition och erbjuder minneshårdhet utöver tidshårdhet. scrypt erbjuder liknande egenskaper. För nya mönster är Argon2id det rekommenderade valet. bcrypt förblir acceptabelt och brett distribuerat, särskilt i miljöer där Argon2 inte är tillgängligt.
Att lagra lösenord som klartext är felbehandling. Att lagra dem med en snabb hash som SHA-256 är knappt bättre — moderna GPU:er beräknar miljarder SHA-256-hashar per sekund, vilket gör brute-force-attacker mot alla vanliga lösenord genomförbara på timmar. bcrypts avsiktliga långsamhet förändrar ekonomin: till kostnadsfaktor 12 spenderar en angripare ungefär 250 ms per kandidatlösenord, vilket gör brute-force opraktisk för alla icke-triviala lösenord.
bcrypts automatiska per-lösenordssalt besegrar också regnbågsbordsattacker. Två användare med samma lösenord producerar olika bcrypt-hashar eftersom deras salter skiljer sig åt. Att kompromissa med lösenordsdatabasen låter inte en angripare snabbt identifiera vanliga lösenord eller förberäknade tabellträffar.
Skriv ett lösenord, välj kostnad, hämta hash.
bcrypt använder ett modifierat Blowfish-chiffers nyckelinstallationsfas, upprepade 2^ kostnadstider. Kostnadsfaktorn är logaritmisk — kostnad 12 är dubbelt så långsam som kostnad 11, fyra gånger så långsam som kostnad 10. Denna logaritmiska skalning låter administratörer öka kostnaden över tid när hårdvaran förbättras, utan att göra om systemet.
Utdataformatet är $version$cost$saltAndHash där saltAndHash är base64-kodat med ett anpassat alfabet. Versionen är vanligtvis $2b$ (den moderna varianten med wraparound buggen fixad) eller $2y$ (PHP-specifik, motsvarande). Saltet är 16 byte; hashen är 24 byte; tillsammans kodar de till 53 tecken i custom-base64.
Maximal ingångslängd är 72 byte (gräns för Blowfish-nyckelns längd). Längre lösenord trunkeras tyst, vilket är en långvarig bcrypt-quirk. Bästa praxis är att antingen begränsa lösenordslängden till 72 byte eller förhasha med SHA-256 för att normalisera längden före bcrypt.