Bcrypt vs Argon2: cén pasfhocal hash in 2026
Is iad Bcrypt agus Argon2 an dá fheidhm hash atá ag na pasfhocail is mó a úsáidtear inniu. Tá an dá deartha chun a bheith mall agus resistant a Ionsaithe fórsa brute, murab ionann agus MD5 nó SHA-256 atá tapa ag tógáil. Argón 2a bhuaigh an Comórtas Pasfhocal Hashing in 2015 agus tá sé anois ar an rogha molta OWASP le haghaidh feidhmchláir nua. Is rogha den scoth, aibí agus tacaithe go forleathan é Bcrypt. seo Míníonn an t-alt seo na difríochtaí go beacht chun cabhrú leat cinneadh a dhéanamh.
Cén fáth go bhfuil hash phasfhocal difriúil
Tá hash cripteagrafach clasaiceach cosúil le SHA-256 deartha le bheith tapa: ba mhaith linn hash GB de shonraí in aghaidh an tsoicind. Maidir le pasfhocail, tá an mhaoin seo réamhshocraithe: ionsaitheoir a dhéanann do thábla úsáideoirí a aisghabháil is féidir leis na billiúin pasfhocail in aghaidh an tsoicind a thástáil ar a GPU. Féachann feidhm hashing pasfhocail (PHF) ar a mhalairt bheith:
- Mall ag tógáil, le paraiméadar costais inchoigeartaithe
- Saillte, chun táblaí tuar ceatha agus ionsaithe comhthreomhara ar ilchuntais a chosc
- Frithsheasmhach in aghaidh crua-earraí speisialaithe (GPU, FPGA, ASIC) chun luas suas sáraíochta a theorannú
Stóráiltear an salann agus an paraiméadar costais leis an hash, in aon téad amháin go hiondúil
den fhoirm $algo$params$sel$hash. Ligeann sé seo an costas a mhéadú le himeacht ama gan
bhfeidhm imirce láithreach de hashes d'aois.
Bcrypt: 1999, Blowfish, paraiméadar costais
Dhear Niels Provos agus David Mazières Bcrypt do OpenBSD i 1999.
bunaithe ar algartam criptithe Blowfish, as a mbaineann sé leas as an ardchostas a bhaineann le tús a chur le
táblaí. Nochtann Bcrypt paraiméadar singil, costas (nó babhtaí), a shainíonn an
líon atriallta san fhoirm 2 ^ costas. Má mhéadaítear costas faoi 1, déantar an t-am ríofa a dhúbailt.
Formáid aschuir tipiciúil:
$2y$12$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy | | | | | | costas = 12 salann + hash i mbonn64 | athraitheach (2y = openbsd) algo bcrypt
Cuireann Bcrypt teorainn le hionchur go 72 beart: gearrtar pasfhocal níos faide go ciúin, rud a is gaiste aitheanta. Is é an réiteach is gnách a réamh-hash le SHA-256 ansin base64 ionchódú roimh bcrypt, ach féadann sé seo beart nialasach fadhbach a thabhairt isteach ar roinnt feidhmiúcháin. Níl an teorainn seo ag Argón2.
Argon2: 2015, buaiteoir PHC, 3 leagan
Ba iad Alex Biryukov, Daniel Dinu agus Dmitry Khovratovich a dhear Argon2. Tá aige bhuaigh an Comórtas Hashing Pasfhocal i mí Iúil 2015 agus tá sé caighdeánaithe ag RFC 9106 (2021). Nochtann Argon2 trí pharaiméadar:
- Costas cuimhne (
m): cainníocht na cuimhne a úsáideadh, i KiB - Costas ama (
t): líon atriallta ar an mbloc cuimhne - Comhthreomhaireacht (
p): líon na snáitheanna comhthreomhara
Tá Argon2 ann i dtrí leagan:
- Argon2d: rochtain cuimhne ag brath ar shonraí. Níos frithsheasmhach in aghaidh ionsaithe GPU, ach níos so-ghabhálaí i leith ionsaithe taobhchainéil (uainiú, taisce).
- Argon2i: rochtain cuimhne neamhspleách ar shonraí. Frithsheasmhach in aghaidh taobh-chainéil, beagán níos lú frithsheasmhach in aghaidh ionsaithe GPU.
- Argon2id: hibrideach, tosaíonn sé i mód i ansin aistríonn sé go mód d. Molta de réir réamhshocraithe ag RFC 9106 agus OWASP.
Na paraiméadair a mhol OWASP in 2026 do Argon2id: m=19456 KiB (19 MiB),
t=2, p=1. Formáid aschuir tipiciúil:
$argon2id$v=19$m=19456,t=2,p=1$c2VsX2FsZWF0b2lyZQ$aGFzaF9jYWxjdWxl
| | | | |
| | paraiméadair salann base64 base64 hash
| leagan
algo argon2id
Cén fáth a mholtar Argon2id
Is é an critéar cinntitheach sa lá atá inniu ann frithsheasmhacht in aghaidh trealamh speisialaithe. Is beag a úsáideann Bcrypt cuimhne (~ 4 KiB), a ligeann do GPU ard-deireadh na céadta mílte hashes a thástáil in aghaidh an tsoicind. Tá Argon2id cuimhne-chrua: cuir roinnt MiB de chuimhne i bhfeidhm in aghaidh na hiarrachta laghdaítear go mór an comhthreomhaireacht is féidir a bhaint amach ar GPU agus déanann sé dearadh ASICanna tiomnaithe neamhbhrabúsach go heacnamaíoch.
Soláthraíonn modh hibrideach Argon2id cosaint freisin ar ionsaithe taobhchainéil le linn an chéad leath den ríomh. Is é an meascán seo a thugann údar lena áit moladh réamhshocraithe ó OWASP, NIST SP 800-63B (ó athbhreithniú 2024) agus RFC 9106.
Tábla comparáide
| Critéar | Bcrypt | Argon2id |
|---|---|---|
| Bliain | 1999 | 2015 |
| Caighdeánú | De facto, USENIX 1999 | RFC 9106 (2021) |
| Paraiméadair | costas | cuimhne, am, comhthreomhaireacht |
| Cuimhne in úsáid | ~4 KiB | Inchumraithe (~moltar 19 MiB) |
| Memory-hard | Ní hea | Tá |
| Friotaíocht GPU | Measartha | Láidir |
| Friotaíocht taobhchainéil | Go maith (modh leanúnach) | Maith (mód aitheantais) |
| Teorainn ionchuir | 72 beart | Tada |
| Moladh OWASP 2026 | Inghlactha | Rogha |
| Aibiú éiceachórais | An-leathan | Fairsing ó ~2018 |
Feidhmíocht agus friotaíocht in aghaidh ionsaithe
Ar fhreastalaí nua-aimseartha, glacann bcrypt ar chostas=12 timpeall 250 ms agus argon2id le paraiméadair OWASP thart ar 100-300 ms ag brath ar an meaisín. Ní fíor-ama an critéar: is é an rud atá i gceist an cóimheas idir do chostas (ríomh amháin, uair amháin in aghaidh an logáil isteach) agus an ionsaitheoir (na billiúin ríomhaireachtaí ar GPU chun dumpáil a bhriseadh).
Ar RTX 4090, sroicheann hashcat timpeall 200,000 bcrypt/s ar chostas=12, i gcomparáid le cúpla dosaen na mílte argon2id ag 19 MiB. Maidir leis an am céanna ríofa ar thaobh an fhreastalaí, mhoillíonn Argon2id an t-ionsaitheoir 5 go 10 n-uaire níos mó ná bcrypt, agus tá an bhearna ag méadú leis an nuacht glúine de GPUs.
Samplaí PHP
Tacaíonn PHP le deux nativement trí password_hash() agus password_verify()
depuis PHP 7.2 do Argon2i (agus 7.3 do Argon2id). Le cruthaitheoir PHP agus formáid
uathoibriú.
Bcrypt
$hash = password_hash($password, PASSWORD_BCRYPT, ['cost' => 12]);
$ OK = password_verify($ phasfhocal, $hash);
más rud é (password_needs_rehash($hash, PASSWORD_BCRYPT, ['cost' => 12])) {
$hash = password_hash($password, PASSWORD_BCRYPT, [ 'cost' => 12]);
}
Argon2id
$opts = [
'memory_cost' => 19456, // 19 MiB
'time_cost' => 2,
'snáitheanna' => 1,
];
$hash = password_hash($password, PASSWORD_ARGON2ID, $opts);
$ OK = password_verify($ phasfhocal, $hash);
más rud é (password_needs_rehash($hash, PASSWORD_ARGON2ID, $opts)) {
$hash = password_hash($password, PASSWORD_ARGON2ID, $opts);
}
Vous pouvez générer ou aitheantóir des hashs de tous types avec notre gineadóir de hais et notre aitheantas hais.
Moladh
Le haghaidh feidhmchlár nua in 2026, roghnaigh Argon2id le socruithe
OWASP mar bhunlíne (m=19456, t=2, p=1), le coigeartú de réir
sprioc-am (go hiondúil 250 go 500 ms). Má choinníonn tú feidhmchlár reatha in bcrypt, déan é
níl aon phráinn le haistriú: fanann bcrypt ar chostas=12 nó níos mó slán in 2026. Bain leas as
password_needs_rehash() ag an gcéad logáil isteach eile chun úsáideoirí a aistriú de réir a chéile
sócmhainní chuig Argon2id.
Seachain MD5, SHA-1 agus lom SHA-256 le haghaidh pasfhocail (féach ar ár comparáid MD5 vs SHA-256). Níl aon cheann de na halgartaim deartha le haghaidh na húsáide seo.
Ceisteanna coitianta
An bhfuil Bcrypt fós slán in 2026?
Is féidir, ar choinníoll go n-úsáideann tú costas dóthanach (íosmhéid 12, 14 más féidir). Níl Bcrypt locht cripteagrafach aitheanta. Is é an t-aon laige atá aige i gcomparáid le Argon2id ná a lorg beag cuimhne, rud a fhágann go bhfuil sé níos inrochtana d'ionsaithe GPU agus FPGA.
Ar cheart dúinn bunachar sonraí bcrypt a aistriú go Argon2id?
Ní práinneach. Is é an cur chuige a ascnamh de réir a chéile le password_needs_rehash()
molta: le gach logáil isteach rathúil, ath-hash tú an focal faire in Argon2id. Ag deireadh na
cúpla mí, aistrítear formhór na n-úsáideoirí gníomhacha, agus is féidir leat a
athshocrú do chuntais dhíomhaoine.
Cad é an líon ceart snáitheanna do Argon2id?
Molann OWASP p=1 de réir réamhshocraithe. Ní dhéanfaidh méadú p tada má tá do
Tá go leor iarratas á bpróiseáil ag an bhfreastalaí gréasáin ag an am céanna cheana féin, agus déanann sé níos casta an tiúnadh. Tabhair tosaíocht
ina ionad sin méadú m (cuimhne) arb é an príomhluamhán d'fhriotaíocht GPU.
Cad is “díchriptitheoir bcrypt” ann?
Níl aon díchriptitheoir bcrypt ann: is feidhm aon-bhealach é an tógáil. Na huirlisí a mhaíonn go bhfuil siad “díchriptiú” bcrypt ag tástáil foclóirí pasfhocail sruthanna i gcoinne hash. Tá sé seo díreach mar an gcéanna le ionsaitheoir a bhfuil do tábla.
Argon2i nó Argon2id?
Argon2id i ngach cás le haghaidh pasfhocail. Tá Argon2i beagán níos mó sábháilte i gcoinne taobh-chainéil ach níos laige i gcoinne ionsaithe GPU. Argon2id le chéile buntáistí a bhaineann leis an dá agus tá sé molta go sainráite ag RFC 9106 do hashing pasfhocal.
Ar cheart dúinn piobar a chur leis chomh maith le salann?
Is leor salann d'fhormhór mór na n-iarratas. Piobar (eochair rúnda atá stóráilte lasmuigh den bhonn na sonraí agus a úsáidtear mar HMAC roimh an hash) cuireann sé ciseal i gcás sceitheadh bunachar sonraí gan cur isteach ar fhreastalaí an fheidhmchláir. Ní sholáthraíonn Argon2id ó dhúchas é, caithfidh sé a bheith dhiailiú de láimh.