Nemokamas konverteris

Bcrypt slaptažodis Generatorius

Savo naršyklėje akimirksniu sukurkite saugias „bcrypt“ slaptažodžių maišas. Pasirinkite savo išlaidų faktorių ir maišos slaptažodžius kliento pusėje – visiškai privačiai ir nemokamai.

Apie šį įrankį

bcrypt yra slaptažodžių maišos funkcija, kurią 1999 m. sukūrė Niels Provos ir David Mazières, gauta iš Blowfish šifro. Skirtingai nuo bendrosios paskirties maišos funkcijų, pvz., SHA-256, bcrypt yra sąmoningai lėtas ir konfigūruojamas lėtai, naudojant sąnaudų parametrą, o tai yra būtent ta ypatybė, kurios reikia slaptažodžių maišos įrenginiui. Greitesnė maišos funkcija leidžia užpuolikams žiauriai priverstinai priversti daugiau kandidatų per sekundę; lėtesnis juos riboja.

„bcrypt“ taip pat automatiškai įtraukia kiekvieno slaptažodžio druską, pašalindama visą atakų klasę, pagrįstą iš anksto apskaičiuotomis vaivorykštės lentelėmis. Druskos ir kainos parametrai saugomi kaip bcrypt išvesties dalis, todėl patvirtinimui reikia tik saugomos maišos ir kandidato slaptažodžio – jokio atskiro druskos valdymo. Šis lėtumo, druskos ir savarankiško formato derinys pavertė „bcrypt“ numatytuoju slaptažodžio maišu du dešimtmečius ir šiandien yra geras pasirinkimas.

Šiuolaikinės alternatyvos egzistuoja. Argon2 laimėjo 2015 m. slaptažodžių maišos konkursą ir siūlo ne tik laiko sunkumą, bet ir atminties kietumą. scrypt siūlo panašias savybes. Naujiems dizainams rekomenduojamas Argon2id pasirinkimas. bcrypt išlieka priimtinas ir plačiai naudojamas, ypač aplinkoje, kur Argon2 nėra.

Kodėl maišyti slaptažodžius naudojant „bcrypt“.

Slaptažodžių saugojimas kaip grynasis tekstas yra netinkama praktika. Saugoti juos naudojant greitą maišą, pvz., SHA-256, yra vos geriau – šiuolaikiniai GPU apskaičiuoja milijardus SHA-256 maišos per sekundę, todėl žiaurios jėgos atakos prieš bet kokį įprastą slaptažodį įmanomos per kelias valandas. tyčinis bcrypt lėtumas keičia ekonomiką: esant 12 sąnaudų koeficientui, užpuolikas vienam slaptažodžiui išleidžia maždaug 250 ms, todėl brutali jėga nepraktiška bet kokiam nebanaliam slaptažodžiui.

bcrypt automatinė pagal slaptažodį druska taip pat nugali vaivorykštės lentelės atakas. Du vartotojai, turintys tą patį slaptažodį, sukuria skirtingas bcrypt maišas, nes jų druskos skiriasi. Pažeidus slaptažodžių duomenų bazę, užpuolikas negali greitai atpažinti įprastų slaptažodžių arba iš anksto apskaičiuotų lentelės įvykių.

Kaip naudoti

Įveskite slaptažodį, pasirinkite kainą, gaukite maišą.

  1. Įveskite slaptažodį: Norėdami maišyti, įveskite slaptažodį. Įrankis veikia tik jūsų naršyklėje; slaptažodis niekur neperduodamas.
  2. Pasirinkite išlaidų faktorių: Numatytasis yra 10, o šiuolaikinėje aparatinėje įrangoje sukuriamas maždaug 100 ms maišos laikas. 12 rekomenduojama naujoms programoms (250 ms). Didesnės vertės padidina saugumą lėtesnio tikrinimo kaina.
  3. Generuoti: Maišos generatorius sugeneruoja atsitiktinę 16 baitų druską, paleidžia bcrypt rakto išvedimą ir sukuria maišą standartiniu $2b$ formatu.
  4. Naudokite maišą: Išsaugokite visą išvestį ($2b$cost$saltAndHash) savo slaptažodžių duomenų bazėje. Patvirtinimas naudoja tą pačią biblioteką, kad palygintų kandidatą su saugoma maiša.

Bendro naudojimo atvejai

Techninės detalės

bcrypt naudoja modifikuotą Blowfish šifro rakto nustatymo fazę, kartojamą 2^cost kartus. Sąnaudų koeficientas yra logaritminis – 12 kaina yra dvigubai lėtesnė už 11 kainą, keturis kartus lėtesnė nei 10. Šis logaritminis mastelio keitimas leidžia administratoriams laikui bėgant, tobulėjant aparatūrai, didinti išlaidas, neperplanuojant sistemos.

Išvesties formatas yra $version$cost$saltAndHash, kur saltAndHash yra base64 užkoduotas naudojant pasirinktinę abėcėlę. Versija paprastai kainuoja 2 mlrd. USD (šiuolaikinis variantas su ištaisyta klaida) arba 2y USD (konkretus PHP, ekvivalentas). Druska yra 16 baitų; maišos dydis yra 24 baitai; kartu jie koduoja iki 53 pasirinktinės bazės64 simbolių.

Maksimalus įvesties ilgis yra 72 baitai (Blowfish rakto ilgio riba). Ilgesni slaptažodžiai tyliai sutrumpinami, o tai yra ilgalaikė bcrypt keistenybė. Geriausia praktika yra apriboti slaptažodžio ilgį iki 72 baitų arba iš anksto atlikti maišą naudojant SHA-256, kad būtų normalizuotas ilgis prieš užšifravimą.

Geriausia praktika

Dažnai užduodami klausimai

Ar galiu tinkinti sukurtą išvestį?
Taip. Įrankis siūlo įvairias tinkinimo parinktis, kad būtų galima pritaikyti išvestį pagal jūsų konkrečius poreikius. Prieš generuodami pakoreguokite nustatymus arba atkurkite naudodami skirtingas parinktis.
Ar sugeneruotu turiniu galima naudotis nemokamai?
Taip. Viską, ką sukuriate naudodami šį įrankį, galite naudoti asmeniniais, švietimo ar komerciniais tikslais be jokių apribojimų ar priskyrimo reikalavimų.
Ar tam reikia paskyros?
Ne. Įrankis paruoštas naudoti iš karto, neprisiregistravus, be el. pašto ir registracijos. Tiesiog atidarykite puslapį ir pradėkite generuoti.
Ar mano įvesties duomenys yra privatūs?
Taip. Visas apdorojimas vyksta jūsų naršyklėje. Jūsų įvesties duomenys ir sugeneruota išvestis niekada nesiunčiami į jokį išorinį serverį.
Ar turėčiau pridėti savo druskos?
Nr. bcrypt automatiškai generuoja ir išsaugo atsitiktinę druską. Nereikia dėti savo druskos ir gali atsirasti subtilių klaidų. Naudokite numatytąją bibliotekos druskos generavimą.
Ar slaptažodis siunčiamas į serverį?
Ne. Bcrypt maiša vyksta jūsų naršyklėje. Slaptažodis niekada nepalieka jūsų įrenginio.
Kodėl yra $2a$, $2b$, $2y$ variantai?
$2a$ yra originalas. $2b$ ištaiso 2014 m. aptiktą apibendrintą klaidą. $2y$ yra specifinis PHP, funkciškai atitinkantis $2b$. Naujos sistemos turėtų sukurti $ 2 mlrd $ maišos.
Ar galiu sumažinti brangios maišos versiją į mažesnę kainą?
Ne. Maiša apima kainą kaip produkcijos dalį, o patikrinimui reikia tų pačių išlaidų. Norėdami pakeisti mokestį, kitą sėkmingą prisijungimą atlikite pakartotinai naudodami maišą.