[{"data":1,"prerenderedAt":211},["ShallowReactive",2],{"term-m\u002Fmd5":3,"related-m\u002Fmd5":200},{"id":4,"title":5,"acronym":5,"body":6,"category":182,"description":183,"difficulty":184,"extension":185,"letter":186,"meta":187,"navigation":80,"path":188,"related":189,"seo":193,"sitemap":194,"stem":197,"subcategory":198,"__hash__":199},"terms\u002Fterms\u002Fm\u002Fmd5.md","MD5",{"type":7,"value":8,"toc":176},"minimark",[9,14,18,22,25,29,165,169,172],[10,11,13],"h2",{"id":12},"eli5-the-vibe-check","ELI5 — The Vibe Check",[15,16,17],"p",{},"MD5 is the old grandpa hash algorithm — fast, but full of holes. It was everywhere in the early internet, but hackers have found so many ways to break it that you should never use it for passwords or security. Fine for checksums on files you trust, terrible for anything that needs to be secure.",[10,19,21],{"id":20},"real-talk","Real Talk",[15,23,24],{},"MD5 (Message Digest 5) produces a 128-bit hash value. It's cryptographically broken — collision attacks are feasible, meaning two different inputs can produce the same hash. It should never be used for security-sensitive purposes like password hashing or digital signatures.",[10,26,28],{"id":27},"show-me-the-code","Show Me The Code",[30,31,36],"pre",{"className":32,"code":33,"language":34,"meta":35,"style":35},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createHash } from 'crypto';\n\n\u002F\u002F Only acceptable for non-security uses like cache keys\nconst cacheKey = createHash('md5').update(url).digest('hex');\n\n\u002F\u002F NEVER do this for passwords:\n\u002F\u002F const badHash = md5(password); \u002F\u002F ❌ broken!\n","javascript","",[37,38,39,75,82,89,145,150,156],"code",{"__ignoreMap":35},[40,41,44,48,52,56,59,62,65,69,72],"span",{"class":42,"line":43},"line",1,[40,45,47],{"class":46},"s7zQu","import",[40,49,51],{"class":50},"sMK4o"," {",[40,53,55],{"class":54},"sTEyZ"," createHash",[40,57,58],{"class":50}," }",[40,60,61],{"class":46}," from",[40,63,64],{"class":50}," '",[40,66,68],{"class":67},"sfazB","crypto",[40,70,71],{"class":50},"'",[40,73,74],{"class":50},";\n",[40,76,78],{"class":42,"line":77},2,[40,79,81],{"emptyLinePlaceholder":80},true,"\n",[40,83,85],{"class":42,"line":84},3,[40,86,88],{"class":87},"sHwdD","\u002F\u002F Only acceptable for non-security uses like cache keys\n",[40,90,92,96,99,102,105,108,110,113,115,118,121,124,127,129,132,134,136,139,141,143],{"class":42,"line":91},4,[40,93,95],{"class":94},"spNyl","const",[40,97,98],{"class":54}," cacheKey ",[40,100,101],{"class":50},"=",[40,103,55],{"class":104},"s2Zo4",[40,106,107],{"class":54},"(",[40,109,71],{"class":50},[40,111,112],{"class":67},"md5",[40,114,71],{"class":50},[40,116,117],{"class":54},")",[40,119,120],{"class":50},".",[40,122,123],{"class":104},"update",[40,125,126],{"class":54},"(url)",[40,128,120],{"class":50},[40,130,131],{"class":104},"digest",[40,133,107],{"class":54},[40,135,71],{"class":50},[40,137,138],{"class":67},"hex",[40,140,71],{"class":50},[40,142,117],{"class":54},[40,144,74],{"class":50},[40,146,148],{"class":42,"line":147},5,[40,149,81],{"emptyLinePlaceholder":80},[40,151,153],{"class":42,"line":152},6,[40,154,155],{"class":87},"\u002F\u002F NEVER do this for passwords:\n",[40,157,159,162],{"class":42,"line":158},7,[40,160,161],{"class":87},"\u002F\u002F const badHash = md5(password);",[40,163,164],{"class":87}," \u002F\u002F ❌ broken!\n",[10,166,168],{"id":167},"when-youll-hear-this","When You'll Hear This",[15,170,171],{},"\"We found MD5 password hashes in the old database — migrate them ASAP.\" \u002F \"MD5 is fine for generating cache keys, not for security.\"",[173,174,175],"style",{},"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .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":35,"searchDepth":77,"depth":77,"links":177},[178,179,180,181],{"id":12,"depth":77,"text":13},{"id":20,"depth":77,"text":21},{"id":27,"depth":77,"text":28},{"id":167,"depth":77,"text":168},"security","MD5 is the old grandpa hash algorithm — fast, but full of holes.","beginner","md","m",{},"\u002Fterms\u002Fm\u002Fmd5",[190,191,192],"Hashing","SHA","Bcrypt",{"title":5,"description":183},{"changefreq":195,"priority":196},"weekly",0.7,"terms\u002Fm\u002Fmd5",null,"4vPcNNt9YBfizCTXTD3zTu3tRGent0Vm0efYbDBg0aE",[201,205,208],{"title":192,"path":202,"acronym":198,"category":182,"difficulty":203,"description":204},"\u002Fterms\u002Fb\u002Fbcrypt","intermediate","Bcrypt is the gold-standard password hasher that's intentionally slow.",{"title":190,"path":206,"acronym":198,"category":182,"difficulty":184,"description":207},"\u002Fterms\u002Fh\u002Fhashing","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.",{"title":191,"path":209,"acronym":191,"category":182,"difficulty":203,"description":210},"\u002Fterms\u002Fs\u002Fsha","SHA (Secure Hash Algorithm) is a family of blenders for data.",1776518293635]