[{"data":1,"prerenderedAt":236},["ShallowReactive",2],{"term-h\u002Fhashing":3,"related-h\u002Fhashing":219},{"id":4,"title":5,"acronym":6,"body":7,"category":199,"description":200,"difficulty":201,"extension":202,"letter":203,"meta":204,"navigation":205,"path":206,"related":207,"seo":213,"sitemap":214,"stem":217,"subcategory":6,"__hash__":218},"terms\u002Fterms\u002Fh\u002Fhashing.md","Hashing",null,{"type":8,"value":9,"toc":193},"minimark",[10,15,19,23,26,30,182,186,189],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"Hashing is a one-way blender for data. You throw a password in, it spits out a weird string of letters and numbers, and there's no way to reverse it. Every time you hash the same word, you get the exact same weird string — great for checking passwords without ever storing them.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"Hashing is a one-way function that maps input data to a fixed-size digest (hash). It's deterministic but irreversible. Used for password storage, data integrity checks, and digital signatures. Common algorithms: SHA-256, bcrypt, Argon2.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Hashing a password with bcrypt\nimport bcrypt from 'bcrypt';\nconst hash = await bcrypt.hash('myPassword123', 10);\nconsole.log(hash); \u002F\u002F '$2b$10$...' — irreversible\nconst match = await bcrypt.compare('myPassword123', hash); \u002F\u002F true\n","javascript","",[38,39,40,49,77,125,145],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F Hashing a password with bcrypt\n",[41,50,52,56,60,63,67,71,74],{"class":43,"line":51},2,[41,53,55],{"class":54},"s7zQu","import",[41,57,59],{"class":58},"sTEyZ"," bcrypt ",[41,61,62],{"class":54},"from",[41,64,66],{"class":65},"sMK4o"," '",[41,68,70],{"class":69},"sfazB","bcrypt",[41,72,73],{"class":65},"'",[41,75,76],{"class":65},";\n",[41,78,80,84,87,90,93,96,99,103,106,108,111,113,116,120,123],{"class":43,"line":79},3,[41,81,83],{"class":82},"spNyl","const",[41,85,86],{"class":58}," hash ",[41,88,89],{"class":65},"=",[41,91,92],{"class":54}," await",[41,94,95],{"class":58}," bcrypt",[41,97,98],{"class":65},".",[41,100,102],{"class":101},"s2Zo4","hash",[41,104,105],{"class":58},"(",[41,107,73],{"class":65},[41,109,110],{"class":69},"myPassword123",[41,112,73],{"class":65},[41,114,115],{"class":65},",",[41,117,119],{"class":118},"sbssI"," 10",[41,121,122],{"class":58},")",[41,124,76],{"class":65},[41,126,128,131,133,136,139,142],{"class":43,"line":127},4,[41,129,130],{"class":58},"console",[41,132,98],{"class":65},[41,134,135],{"class":101},"log",[41,137,138],{"class":58},"(hash)",[41,140,141],{"class":65},";",[41,143,144],{"class":47}," \u002F\u002F '$2b$10$...' — irreversible\n",[41,146,148,150,153,155,157,159,161,164,166,168,170,172,174,177,179],{"class":43,"line":147},5,[41,149,83],{"class":82},[41,151,152],{"class":58}," match ",[41,154,89],{"class":65},[41,156,92],{"class":54},[41,158,95],{"class":58},[41,160,98],{"class":65},[41,162,163],{"class":101},"compare",[41,165,105],{"class":58},[41,167,73],{"class":65},[41,169,110],{"class":69},[41,171,73],{"class":65},[41,173,115],{"class":65},[41,175,176],{"class":58}," hash)",[41,178,141],{"class":65},[41,180,181],{"class":47}," \u002F\u002F true\n",[11,183,185],{"id":184},"when-youll-hear-this","When You'll Hear This",[16,187,188],{},"\"We never store plain passwords — we store the hash.\" \u002F \"The file hash changed, so it was tampered with.\"",[190,191,192],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":194},[195,196,197,198],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":184,"depth":51,"text":185},"security","Hashing is a one-way blender for data. You throw a password in, it spits out a weird string of letters and numbers, and there's no way to reverse it.","beginner","md","h",{},true,"\u002Fterms\u002Fh\u002Fhashing",[208,209,210,211,212],"Bcrypt","SHA","MD5","Salt","Password Manager",{"title":5,"description":200},{"changefreq":215,"priority":216},"weekly",0.7,"terms\u002Fh\u002Fhashing","DUcm5J2HMx-IISNr7h5kXgDbQOz5_tEO-2U-7AprQqs",[220,224,227,230,233],{"title":208,"path":221,"acronym":6,"category":199,"difficulty":222,"description":223},"\u002Fterms\u002Fb\u002Fbcrypt","intermediate","Bcrypt is the gold-standard password hasher that's intentionally slow.",{"title":210,"path":225,"acronym":210,"category":199,"difficulty":201,"description":226},"\u002Fterms\u002Fm\u002Fmd5","MD5 is the old grandpa hash algorithm — fast, but full of holes.",{"title":212,"path":228,"acronym":6,"category":199,"difficulty":201,"description":229},"\u002Fterms\u002Fp\u002Fpassword-manager","A password manager remembers all your passwords so you don't have to reuse the same one everywhere.",{"title":211,"path":231,"acronym":6,"category":199,"difficulty":222,"description":232},"\u002Fterms\u002Fs\u002Fsalt","A salt is random gibberish you add to a password before hashing it so two people with the same password get completely different hashes.",{"title":209,"path":234,"acronym":209,"category":199,"difficulty":222,"description":235},"\u002Fterms\u002Fs\u002Fsha","SHA (Secure Hash Algorithm) is a family of blenders for data.",1776518286472]