Libreng Converter

Bcrypt Password Generator

Bumuo ng secure na bcrypt password na mga hash sa iyong browser. Piliin ang iyong cost factor at hash password sa client-side — ganap na pribado at libre.

Tungkol sa tool na ito

Ang bcrypt ay isang password-hashing function na idinisenyo nina Niels Provos at David Mazières noong 1999, na nagmula sa Blowfish cipher. Hindi tulad ng mga pangkalahatang layunin na hash function tulad ng SHA-256, ang bcrypt ay sadyang mabagal — at mabagal na na-configure, sa pamamagitan ng isang parameter ng gastos — na eksaktong pag-aari na kailangan ng isang password hasher. Ang isang mas mabilis na hash function ay nagbibigay-daan sa mga umaatake na puwersahin ang higit pang mga kandidato bawat segundo; nililimitahan sila ng mas mabagal.

Awtomatikong isinasama ng bcrypt ang per-password salt, na inaalis ang isang buong klase ng mga pag-atake batay sa mga precomputed na rainbow table. Ang parameter ng asin at gastos ay iniimbak bilang bahagi ng output ng bcrypt, kaya kailangan lang ng pag-verify ang nakaimbak na hash at password ng kandidato — walang hiwalay na pamamahala ng asin. Ang kumbinasyong ito ng kabagalan, asin, at self-contained na format ay ginawa ang bcrypt bilang default na hash ng password sa loob ng dalawang dekada at isang malakas na pagpipilian ngayon.

Mayroong mga modernong alternatibo. Nanalo ang Argon2 sa 2015 Password Hashing Competition at nag-aalok ng memory-hardness bilang karagdagan sa time-hardness. Nag-aalok ang scrypt ng mga katulad na katangian. Para sa mga bagong disenyo, Argon2id ang inirerekomendang pagpipilian. Ang bcrypt ay nananatiling katanggap-tanggap at malawak na naka-deploy, lalo na sa mga kapaligiran kung saan hindi available ang Argon2.

Bakit Mga Hash Password na may bcrypt

Ang pag-iimbak ng mga password bilang plaintext ay malpractice. Ang pag-imbak ng mga ito gamit ang isang mabilis na hash tulad ng SHA-256 ay halos hindi mas mahusay - ang mga modernong GPU ay nagku-compute ng bilyun-bilyong SHA-256 na mga hash bawat segundo, na ginagawang posible ang mga brute-force na pag-atake laban sa anumang karaniwang password sa ilang oras. Binabago ng sadyang kabagalan ng bcrypt ang ekonomiya: sa cost factor 12, ang isang attacker ay gumugugol ng humigit-kumulang 250 ms bawat password ng kandidato, na ginagawang hindi praktikal ang brute-force para sa anumang hindi walang kuwentang password.

Tinatalo din ng awtomatikong per-password na asin ng bcrypt ang mga pag-atake sa rainbow table. Dalawang user na may parehong password ang gumagawa ng magkaibang bcrypt hash dahil magkaiba ang kanilang mga salt. Ang pagkompromiso sa database ng password ay hindi nagbibigay-daan sa isang umaatake na mabilis na matukoy ang mga karaniwang password o precomputed-table hit.

Paano gamitin

Mag-type ng password, piliin ang gastos, kunin ang hash.

  1. Ipasok ang password: I-type ang password para i-hash. Ang tool ay ganap na tumatakbo sa iyong browser; ang password ay hindi ipinadala kahit saan.
  2. Pumili ng cost factor: Ang default ay 10, na gumagawa ng humigit-kumulang 100 ms hashing time sa modernong hardware. 12 ay inirerekomenda para sa mga bagong application (250 ms). Ang mas matataas na halaga ay nagpapataas ng seguridad sa halaga ng mas mabagal na pag-verify.
  3. Bumuo: Ang hasher ay bumubuo ng random na 16-byte na asin, nagpapatakbo ng bcrypt key derivation, at gumagawa ng hash sa karaniwang $2b$ na format.
  4. Gamitin ang hash: Itabi ang kumpletong output ($2b$cost$saltAndHash) sa iyong database ng password. Ginagamit ng pag-verify ang parehong library upang ihambing ang isang kandidato laban sa nakaimbak na hash.

Mga Pangkaraniwang Paggamit

Mga Detalye ng Teknikal

Gumagamit ang bcrypt ng isang binagong yugto ng pag-setup ng key-setup ng Blowfish cipher, na inuulit ng 2^beses ng gastos. Ang cost factor ay logarithmic — ang cost 12 ay dalawang beses na mas mabagal kaysa sa cost 11, apat na beses na mas mabagal kaysa sa cost 10. Ang logarithmic scaling na ito ay nagbibigay-daan sa mga administrator na pataasin ang gastos sa paglipas ng panahon habang ang hardware ay bumubuti, nang hindi muling idisenyo ang system.

Ang format ng output ay $version$cost$saltAndHash kung saan ang saltAndHash ay base64-encoded na may custom na alpabeto. Ang bersyon ay karaniwang $2b$ (ang modernong variant na may wraparound bug na naayos) o $2y$ (PHP-specific, katumbas). Ang asin ay 16 bytes; ang hash ay 24 bytes; magkasama silang nag-encode sa 53 character ng custom-base64.

Ang maximum na haba ng input ay 72 bytes (Blowfish key length limit). Ang mga mas mahabang password ay tahimik na pinuputol, na isang matagal nang bcrypt quirk. Ang pinakamahusay na kasanayan ay ang alinman sa limitahan ang haba ng password sa 72 bytes o pre-hash sa SHA-256 upang gawing normal ang haba bago ang bcrypt.

Pinakamahusay na Kasanayan

Mga madalas itanong

Maaari ko bang i-customize ang nabuong output?
Oo. Nagbibigay ang tool ng iba't ibang mga pagpipilian sa pagpapasadya upang maiangkop ang output sa iyong mga partikular na pangangailangan. Ayusin ang mga setting bago bumuo, o muling buuin gamit ang iba't ibang mga opsyon.
Libre bang gamitin ang nabuong nilalaman?
Oo. Ang lahat ng iyong nabuo gamit ang tool na ito ay sa iyo upang gamitin para sa personal, pang-edukasyon, o komersyal na layunin nang walang anumang mga paghihigpit o kinakailangan sa pagpapatungkol.
Nangangailangan ba ito ng account?
No. The tool is ready to use immediately with no sign-up, no email, and no registration. Buksan lamang ang pahina at simulan ang pagbuo.
Pinapanatili bang pribado ang aking data ng input?
Oo. Ang lahat ng pagproseso ay nangyayari sa iyong browser. Ang iyong input data at nabuong output ay hindi kailanman ipapadala sa anumang panlabas na server.
Dapat ba akong magdagdag ng sarili kong asin?
Ang bcrypt ay awtomatikong bumubuo at nag-iimbak ng isang random na asin. Ang pagdaragdag ng sarili mong asin ay hindi kailangan at maaaring magdulot ng banayad na mga bug. Gamitin ang default na henerasyon ng asin ng library.
Ipinadala ba ang password sa isang server?
Hindi. nangyayari ang bcrypt hashing sa iyong browser. Ang password ay hindi kailanman umaalis sa iyong device.
Bakit may $2a$, $2b$, $2y$ na mga variant?
$2a$ ang orihinal. Inaayos ng $2b$ ang isang wraparound bug na natuklasan noong 2014. Ang $2y$ ay partikular sa PHP, na katumbas ng $2b$ sa pagganap. Ang mga bagong system ay dapat gumawa ng $2b$ na mga hash.
Maaari ko bang i-downgrade ang isang hash na may mataas na halaga sa mas mababang halaga?
Hindi. Kasama sa hash ang gastos bilang bahagi ng output at nangangailangan ang pagpapatunay ng parehong halaga. Upang baguhin ang gastos, muling i-hash sa susunod na matagumpay na pag-login.