Bcrypt- en Argon2-hashkostenschatter
Cost 12 is 2^12 werk. Argon2-werk 786432 in de gouden test is een andere as dan bcrypt 4096. Dit is geen pentest.
Waarom wachtwoordhashes tijd en geheugen moeten kosten
2^12=4096 werkunits. Bcrypt- en Argon2-hashkostenschatter houdt die klus zichtbaar, in plaats van hem in een verborgen spreadsheetcel te stoppen.
250 ms is een schatting, geen SLA. Mara in Amsterdam weigert een resultaat te delen dat niet aan cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250 te toetsen is.
Mara koppelt dit aan entropy bits. De relatie bcrypt-werk ~ 2^cost; Argon2-werk ~ mem×iters×parallel (engine) is de hele motor; extra verhalen horen in de kantlijn, niet in het getal.
In Amsterdam ziet Mara (backend-docent) hoe Bcrypt- en Argon2-hashkostenschatter (hash-cost) een andere beslissing oplevert dan giswerk. De velden bcryptCost, memKiB, iters, parallel, bcryptWork, argonWork, bcryptMs moeten dezelfde situatie beschrijven; anders is het resultaat intern consistent en inhoudelijk onzin. bcrypt-werk ~ 2^cost; Argon2-werk ~ mem×iters×parallel (engine) is de relatie die de engine hash-cost hanteert. Gouden referentie: cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250.
Wie de labels verwisselt, krijgt een getal dat er professioneel uitziet. Mara leert collega’s daarom eerst de zin uit te spreken die bij de klus hoort, en pas daarna te typen. Deze pagina is les- en controlemateriaal, geen vervanging van een protocol, een cao of een medisch dossier.
Voordat je begint
Verzamel bcryptCost, memKiB, iters, parallel, bcryptWork, argonWork, bcryptMs voordat je Bcrypt- en Argon2-hashkostenschatter opent. Noteer of elke waarde gemeten, geschat of uit een tabel gekopieerd is. Voor je typt: schrijf wat Argon2 geheugen 64 MiB-achtig 65536 KiB in jouw zinnen betekent en koppel het aan de gelabelde velden van Bcrypt- en Argon2-hashkostenschatter. Zet eenheden vast. Mara noteert ze op dezelfde regel als cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250, zodat een screenshot later nog te lezen is.
In Amsterdam print Mara de eenheden op dezelfde regel als de getallen, zodat een later screenshot nog te auditen is. Als je tegen een spreadsheet vergelijkt, bevestig dat die spreadsheet dezelfde velddefinities gebruikt als hash-cost. Beslis welk uitvoerveld je het meest nodig hebt en of je eigenlijk een invoer wilt terugrekenen. Bcrypt- en Argon2-hashkostenschatter werkt live; blijf niet alle knoppen tegelijk wijzigen.
Veelvoorkomende gebruiksscenario’s
- Cost 12 ijk
- Argon2-parameters lezen
- Latency 250 ms gevoel
- Naar entropy
- Les KDF ≠ encryptie
- Niet als compliance-sign-off
Hoe deze rekenmachine te gebruiken
- Vul bcryptCost in.
- Vul memKiB in.
- Vul iters in.
- Vul parallel in.
Wijzigingen in bcryptCost verversen de uitvoer meteen. Vul elke vereiste invoer in voordat je het resultaat van Bcrypt- en Argon2-hashkostenschatter opschrijft. Engine hash-cost blijft deterministisch zolang dezelfde SI-basis en dezelfde labels binnenkomen.
Stap-voor-stap uitleg
Mara opent Bcrypt- en Argon2-hashkostenschatter tijdens een sessie in Amsterdam en heeft een helder antwoord nodig.
Situatie: Walkthrough: Mara speelt het gouden scenario. Geen garantie tegen GPU-clusters van morgen. Als de live uitkomst cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250 niet evenaart, ligt het bijna altijd aan omgewisselde velden, niet aan magie in de engine.
Ingevoerde waarden (gouden test): cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250
Resultaat: de live rekenmachine moet die gouden uitvoer geven als de invoer en eenheden kloppen. Mara vergelijkt magnitude en eenheid met wat de backend-docent in dit vak verwacht.
Sanitycheck: Mara valideert hash-cost door het eerste uitgewerkte voorbeeld hieronder te evenaren. Bij afwijking zijn verwisselde velden of eenheden op bcryptCost de eerste plek om te kijken.
Takeaway: Mara in Amsterdam slaat voor Bcrypt- en Argon2-hashkostenschatter de invoerlijst, eenheidkeuzes en de uitkomstzin op, zodat hash-cost later herhaald of gereviewd kan worden zonder het verhaal opnieuw te reconstrueren.
Formule en methode
Bcrypt- en Argon2-hashkostenschatter gebruikt de enginemodule hash-cost, die de getoonde invoer naar de uitvoer in het paneel mapt.
Kernrelatie: bcrypt-werk ~ 2^cost; Argon2-werk ~ mem×iters×parallel (engine)
Gouden zaad op deze pagina: cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250. Die cijfers moeten overeenkomen met scripts/golden-values.json voor hash-cost. Formule bcrypt-werk ~ 2^cost; Argon2-werk ~ mem×iters×parallel (engine) wordt exact toegepast. Zout zit niet in deze velden. Gouden anker blijft cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250. Dat staat in golden-values.json en op deze pagina, zodat huiswerkcontrole oneerlijk zou zijn zonder dezelfde invoer.
Elke invoer begrijpen
bcryptCost: Label bcryptCost in Bcrypt- en Argon2-hashkostenschatter. In Amsterdam koppelt Mara dit label aan een betekenis in het echte scenario, niet aan een kale kolomletter. Houd de eenheid consistent met de rest van Bcrypt- en Argon2-hashkostenschatter.
memKiB: Label memKiB in Bcrypt- en Argon2-hashkostenschatter. In Amsterdam koppelt Mara dit label aan een betekenis in het echte scenario, niet aan een kale kolomletter. Houd de eenheid consistent met de rest van Bcrypt- en Argon2-hashkostenschatter.
iters: Label iters in Bcrypt- en Argon2-hashkostenschatter. In Amsterdam koppelt Mara dit label aan een betekenis in het echte scenario, niet aan een kale kolomletter. Houd de eenheid consistent met de rest van Bcrypt- en Argon2-hashkostenschatter.
parallel: Label parallel in Bcrypt- en Argon2-hashkostenschatter. In Amsterdam koppelt Mara dit label aan een betekenis in het echte scenario, niet aan een kale kolomletter. Houd de eenheid consistent met de rest van Bcrypt- en Argon2-hashkostenschatter.
bcryptWork: Label bcryptWork in Bcrypt- en Argon2-hashkostenschatter. In Amsterdam koppelt Mara dit label aan een betekenis in het echte scenario, niet aan een kale kolomletter. Houd de eenheid consistent met de rest van Bcrypt- en Argon2-hashkostenschatter.
argonWork: Label argonWork in Bcrypt- en Argon2-hashkostenschatter. In Amsterdam koppelt Mara dit label aan een betekenis in het echte scenario, niet aan een kale kolomletter. Houd de eenheid consistent met de rest van Bcrypt- en Argon2-hashkostenschatter.
bcryptMs: Label bcryptMs in Bcrypt- en Argon2-hashkostenschatter. In Amsterdam koppelt Mara dit label aan een betekenis in het echte scenario, niet aan een kale kolomletter. Houd de eenheid consistent met de rest van Bcrypt- en Argon2-hashkostenschatter.
Aannames
- Alle invoer van Bcrypt- en Argon2-hashkostenschatter beschrijft één scenario, niet twee tijdlijnen door elkaar.
- Eenheden zijn intern consistent; de UI rekent naar basis eenheden.
- bcrypt-werk ~ 2^cost; Argon2-werk ~ mem×iters×parallel (engine) is de gemodelleerde relatie; weglatingen staan bij beperkingen.
- Afronding volgt floating-point weergave, geen examen- of CAO-regel.
- Mara neemt aan dat ontbrekende context (temperatuur, belasting, protocol) buiten
hash-costvalt.
Veelgemaakte fouten met Bcrypt- en Argon2-hashkostenschatter
- Cost als bits entropy
- 250 ms als harde servermeting
- Pepper in de UI zoeken
- Hash als encryptie uitleggen
Uitgewerkte voorbeelden
- bcryptWork=4096.
- argonWork=786432.
- bcryptMs=250.
Het interpreteren van uw resultaten
Interpretatie: Login UX vs veiligheid. Lees uitvoer nooit los van de invoernamen. Mara schrijft erbij wat het resultaat niet is, zodat Bcrypt- en Argon2-hashkostenschatter geen protocol, diagnose of contract wordt.
Lees uitvoer altijd naast de invoerlabels van Bcrypt- en Argon2-hashkostenschatter. Een getal zonder bcryptCost is niet reproduceerbaar. Als twee uitvoervelden tegelijk bewegen, veranderde je waarschijnlijk een gemeenschappelijke invoer, geen bug.
Mara in Amsterdam zet in de kantlijn wat het resultaat níét is (geen diagnose, geen contract, geen labvrijgave) zodat een latere lezer hash-cost niet overinterpreteert.
Resultaten vastleggen en delen
Vastleggen: hash-cost, ruwe invoer, eenheden, cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250, datum, naam. Geen auditrapport. Deel geen schatting als meting. Browserrefresh wist Bcrypt- en Argon2-hashkostenschatter tenzij de browser het formulier terugzet.
Noteer hash-cost, de ruwe invoer, eenheden, cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250 als controlepunt, datum, en de naam van wie typte. Screenshot de gelabelde velden. Browservernieuwing wist het formulier. Deel geen scenario alsof het een officiële meting is als het een schatting was.
Praktische tips
- Entropy elders
- Meet op je eigen hardware
- OWASP is leidraad, deze UI niet
Beperkingen en wanneer niet te gebruiken
Beperkingen: Bcrypt- en Argon2-hashkostenschatter is les- en schattingshulpmiddel. 2^12=4096 werkunits. Dat hoort niet in een rechtszaak of medisch dossier als enig bewijs. Extreme invoer kan wiskundig mogen. Mara in Amsterdam blijft de fysische of organisatorische randvoorwaarden buiten de engine houden.
Bcrypt- en Argon2-hashkostenschatter (hash-cost) is een les- en schattingshulpmiddel. Het vervangt geen vakprotocol, geen trainer, geen arts, geen auditor en geen fabrikantensheet. Extreme invoer kan wiskundig mogen en fysisch onmogelijk zijn.
Gebruik de pagina niet als enig bewijs in een conflict, tentamenbezwaar of medisch dossier. Mara houdt hash-cost bij huiswerk, ontwerp-schetsen en sanitychecks.
Rond cost-12 en 4096 ontstaat de meeste verwarring: mensen stoppen 786432 in het verkeerde vak en lezen 250-ms als bewijs. Bcrypt- en Argon2-hashkostenschatter dwingt de labels terug naar bcrypt-werk ~ 2^cost; Argon2-werk ~ mem×iters×parallel (engine).
Een tweede valkuil is eenheidshoppen. entropie hoort niet stiekem van login-latency te wisselen midden in een sessie. Mara zet de eenheid vast vóór het eerste cijfer.
In de praktijk van een backend-docent is GPU vaak een tussenresultaat, geen eindclaim. Bcrypt- en Argon2-hashkostenschatter mag dat tussenresultaat tonen; de interpretatie blijft bij de mens.
Documenteer zout in dezelfde notitie als pepper. Zonder die koppeling is een screenshot van hash-cost later niet te verdedigen.
Lesgroepen in Amsterdam gebruiken OWASP als mondelinge check: als de zin niet klopt, is het model hash-cost het verkeerde gereedschap.
Vergelijk KDF niet met parallel-4 alsof het synoniemen zijn. Bcrypt- en Argon2-hashkostenschatter modelleert één relatie, geen hele beroepsnorm.
Als cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250 niet reproduceert, is de kans groter dat een veld leeg of omgewisseld is dan dat de formule bcrypt-werk ~ 2^cost; Argon2-werk ~ mem×iters×parallel (engine) ineens veranderde.
Mara houdt een papierstrook bij de hand met cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250 en de namen van bcryptCost, memKiB, iters, parallel, bcryptWork, argonWork, bcryptMs. Dat is goedkoper dan een verkeerde beslissing op basis van cost-12.
Wanneer moet u een ander hulpmiddel zoeken?
Blijf op Bcrypt- en Argon2-hashkostenschatter zolang de klus bij hash-cost past. Voor de volgende stap in dezelfde gebruikersreis:
Mara in Amsterdam bewaart het gouden anker cost=12, memKiB=65536, iters=3, parallel=4, bcryptWork=4096, argonWork=786432, bcryptMs=250 naast Bcrypt- en Argon2-hashkostenschatter. Zo blijft hash-cost auditeerbaar als iemand later de velden wantrouwt.