{"id":3462,"date":"2026-10-28T09:02:06","date_gmt":"2026-10-28T16:02:06","guid":{"rendered":"https:\/\/cyber.mag212.com\/tools\/file-hash-checker\/"},"modified":"2026-10-28T09:02:06","modified_gmt":"2026-10-28T16:02:06","slug":"file-hash-checker","status":"publish","type":"page","link":"https:\/\/cyber.mag212.com\/fr\/tools\/file-hash-checker\/","title":{"rendered":"V\u00e9rificateur de hachage de fichier"},"content":{"rendered":"\n<div class=\"m212x\" id=\"m212-file-hash-checker\">\n<style>\n.m212x{--bg:#0a0f15;--panel:#0f1720;--panel2:#121c27;--line:#1f2d3a;--line2:#2a3b4b;--ink:#e6edf3;--mute:#9fb0c0;--green:#3ee6a0;--red:#ff5468;--cyan:#3cc8f0;--amber:#f6b544;--violet:#a98bff;\n font-family:Inter,system-ui,-apple-system,\"Segoe UI\",sans-serif;color:var(--ink);line-height:1.6;font-size:16px}\n.m212x *{box-sizing:border-box}\n.m212x h2,.m212x h3,.m212x h4,.m212x p,.m212x ul,.m212x ol{margin:0}\n.m212x a{color:var(--cyan)}\n.m212x .hero{position:relative;background:radial-gradient(ellipse at 90% 0%,rgba(60,200,240,.14),transparent 60%),var(--bg);border:1px solid var(--line);border-radius:14px;padding:34px 30px;overflow:hidden;margin-bottom:22px}\n.m212x .hero::before{content:\"\";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--green),var(--cyan) 60%,var(--red))}\n.m212x .kick{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:8px}\n.m212x .hero h2{font-size:clamp(26px,4.6vw,40px);line-height:1.1;font-weight:800;margin-bottom:10px}\n.m212x .hero h2 span{color:var(--green)}\n.m212x .hero p{color:var(--mute);font-size:17px;max-width:680px}\n.m212x .sec{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:22px;scroll-margin-top:110px}\n.m212x .sec h3{font-size:22px;font-weight:800;margin-bottom:8px}\n.m212x .sec h4{font-size:16px;font-weight:800;margin:16px 0 6px}\n.m212x .sec p{color:#cdd8e2;margin-bottom:10px}\n.m212x .lead{color:var(--mute) !important;margin-bottom:16px !important}\n.m212x .grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}\n.m212x .card{display:block;background:var(--panel2);border:1px solid var(--line2);border-radius:10px;padding:18px;text-decoration:none;color:var(--ink)}\n.m212x a.card:hover{border-color:var(--green)}\n.m212x .card b{display:block;font-size:17px;margin-bottom:6px}\n.m212x .card p{color:var(--mute);font-size:14.5px;margin:0}\n.m212x .card .go{display:inline-block;margin-top:10px;font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--green)}\n.m212x .ic{font-size:26px;display:block;margin-bottom:8px}\n.m212x ul.l,.m212x ol.l{padding-left:22px;color:#cdd8e2;margin-bottom:10px}\n.m212x ul.l li,.m212x ol.l li{margin-bottom:6px}\n.m212x table{width:100%;border-collapse:collapse;font-size:14.5px;margin:6px 0 12px}\n.m212x th{text-align:left;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--line2);padding:8px}\n.m212x td{border-bottom:1px solid var(--line);padding:8px;vertical-align:top;color:#d3dde6}\n.m212x code,.m212x .mono{font-family:\"JetBrains Mono\",\"DejaVu Sans Mono\",Consolas,monospace;font-size:.9em}\n.m212x code{background:rgba(60,200,240,.1);color:#bfe9ff;padding:1px 5px;border-radius:4px}\n.m212x pre{font-family:\"JetBrains Mono\",\"DejaVu Sans Mono\",Consolas,monospace;font-size:13.5px;background:#060a0f;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:6px;padding:12px 14px;overflow-x:auto;color:#cfe8d9;margin:6px 0 12px;white-space:pre}\n.m212x .callout{border:1px solid rgba(246,181,68,.4);background:rgba(246,181,68,.08);border-radius:10px;padding:14px 16px;margin:12px 0}\n.m212x .callout b{color:var(--amber)}\n.m212x .pill{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.06em;padding:2px 9px;border-radius:999px;border:1px solid}\n.m212x .p-n{color:#9fb0c0;border-color:#3a4b5b}\n.m212x .p-l{color:var(--green);border-color:rgba(62,230,160,.5);background:rgba(62,230,160,.08)}\n.m212x .p-m{color:var(--amber);border-color:rgba(246,181,68,.5);background:rgba(246,181,68,.08)}\n.m212x .p-h{color:#ff8a5c;border-color:rgba(255,138,92,.5);background:rgba(255,138,92,.08)}\n.m212x .p-c{color:var(--red);border-color:rgba(255,84,104,.5);background:rgba(255,84,104,.08)}\n.m212x .toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}\n.m212x .toc a{font-size:14px;font-weight:700;text-decoration:none;color:var(--ink);background:var(--panel2);border:1px solid var(--line2);border-radius:999px;padding:7px 13px}\n.m212x .toc a:hover{border-color:var(--green);color:var(--green)}\n.m212x input[type=text],.m212x input[type=search],.m212x input[type=url]{width:100%;background:#060a0f;color:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:12px 14px;font-size:16px;font-family:inherit}\n.m212x input:focus{outline:2px solid var(--cyan);outline-offset:1px}\n.m212x button{font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;border-radius:8px;padding:11px 16px;border:1px solid var(--line2);background:var(--panel2);color:var(--ink)}\n.m212x button.pri{background:var(--green);color:#04130c;border-color:var(--green)}\n.m212x .help{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:linear-gradient(90deg,rgba(60,200,240,.12),rgba(62,230,160,.05));border:1px solid rgba(60,200,240,.35);border-radius:14px;padding:20px 24px}\n.m212x .help div{flex:1;min-width:240px}\n.m212x .help a.cta{display:inline-block;background:var(--cyan);color:#03141b;font-weight:800;text-decoration:none;border-radius:8px;padding:12px 18px}\n.m212x .small{font-size:13.5px;color:var(--mute)}\n<\/style>\n<section class=\"hero\"><div class=\"kick\">MAG212 CYBER \u00b7 Tools<\/div><h2>File hash <span>checker.<\/span><\/h2><p>Verify that a download \u2014 a Cisco IOS XE image, an ISO, an installer \u2014 is exactly what the vendor published. Calculate SHA-256, SHA-512 and more, and compare with the published value. The file never leaves your computer.<\/p><div class=\"toc\"><a href=\"#m212fh-tool\">Check a file<\/a><a href=\"#m212fh-cli\">Command-line equivalents<\/a><a href=\"#m212fh-why\">Why verify hashes?<\/a><\/div><\/section><style>.m212x .sn-row{display:flex;gap:8px;flex-wrap:wrap}\n.m212x .sn-ex{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 2px}.m212x .sn-ex button{padding:5px 10px;font-size:13px;font-family:\"JetBrains Mono\",\"DejaVu Sans Mono\",monospace}\n.m212x .sn-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px;margin:14px 0}\n.m212x .sn-kv div{background:#060a0f;border:1px solid var(--line2);border-radius:10px;padding:10px 12px;min-width:0}\n.m212x .sn-kv span{display:block;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}\n.m212x .sn-kv b{font-family:\"JetBrains Mono\",\"DejaVu Sans Mono\",monospace;font-size:15px;color:#e6edf3;word-break:break-all}\n.m212x .sn-err{color:var(--red);display:none;margin-top:8px}\n.m212x .sn-tw{overflow-x:auto;-webkit-overflow-scrolling:touch}.m212x .sn-tw table{min-width:560px}\n.m212x .sn-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}\n.m212x textarea{width:100%;min-height:150px;background:#060a0f;color:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:12px 14px;font:14px\/1.5 \"JetBrains Mono\",\"DejaVu Sans Mono\",monospace}\n.m212x select{background:#060a0f;color:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:10px 12px;font-size:15px;font-family:inherit}\n.m212x .verdict{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:#060a0f;border:1px solid var(--line2);border-radius:12px;padding:16px 18px;margin:16px 0 12px}\n.m212x .big{font-size:52px;font-weight:800;line-height:1;min-width:80px}\n.m212x .fl{padding:10px 2px;border-bottom:1px solid var(--line);display:flex;gap:10px}.m212x .fl span{flex:none}\n.m212x .rec{background:#060a0f;border:1px solid var(--line2);border-radius:10px;padding:12px 14px;margin:8px 0}\n.m212x .rec b{display:block;margin-bottom:4px}.m212x .rec pre{margin:6px 0 0;white-space:pre-wrap;word-break:break-all}\n.m212x .meter{height:10px;border-radius:99px;background:#1a2733;overflow:hidden;margin:8px 0}.m212x .meter i{display:block;height:100%;width:0;border-radius:99px;transition:width .25s}\n<\/style>\n<style>.m212x .fh-drop{border:2px dashed var(--line2);border-radius:12px;padding:28px 16px;text-align:center;cursor:pointer;background:#060a0f}\n.m212x .fh-drop.over{border-color:var(--green);background:rgba(62,230,160,.06)}\n.m212x .fh-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}\n.m212x .fh-row code{word-break:break-all;background:none;padding:0;color:#d3dde6}\n.m212x .fh-row.match code{color:var(--green)}\n@media(max-width:640px){.m212x .fh-row{grid-template-columns:1fr}}<\/style>\n<section class=\"sec\" id=\"m212fh-tool\"><h3>Check a file<\/h3>\n<label class=\"fh-drop\" id=\"m212fhdrop\" for=\"m212fhf\"><div style=\"font-size:30px\">\ud83d\udcc1<\/div><b>Drop a file here or click to choose<\/b><div class=\"small\" id=\"m212fhname\">Files up to about 2 GB, depending on your browser&#8217;s memory<\/div><\/label>\n<input type=\"file\" id=\"m212fhf\" style=\"display:none\" aria-label=\"File to hash\">\n<div class=\"sn-row\" style=\"margin-top:12px\"><input type=\"text\" id=\"m212fhexp\" placeholder=\"Optional: paste the vendor's published hash to compare\" aria-label=\"Expected hash\" spellcheck=\"false\" style=\"flex:1;min-width:220px\"><\/div>\n<p class=\"small sn-err\" id=\"m212fherr\"><\/p>\n<div id=\"m212fhres\" style=\"margin-top:12px\"><\/div>\n<div id=\"m212fhv\" style=\"margin-top:12px;font-size:18px;font-weight:800\"><\/div>\n<p class=\"small\" style=\"margin-top:12px\">\ud83d\udd12 Hashing uses your browser&#8217;s built-in Web Crypto API. The file is read locally and never uploaded. MD5 is not offered: it is broken for security purposes \u2014 use the SHA-512 or SHA-256 value most vendors (including Cisco) now publish.<\/p><\/section>\n<section class=\"sec\" id=\"m212fh-cli\"><h3>Command-line equivalents<\/h3><div class=\"sn-tw\"><table><tr><th>Platform<\/th><th>Command<\/th><\/tr>\n<tr><td>Windows PowerShell<\/td><td><code>Get-FileHash .\\file.iso -Algorithm SHA256<\/code><\/td><\/tr>\n<tr><td>Windows Command Prompt<\/td><td><code>certutil -hashfile file.iso SHA256<\/code><\/td><\/tr>\n<tr><td>macOS<\/td><td><code>shasum -a 256 file.iso<\/code><\/td><\/tr>\n<tr><td>Linux<\/td><td><code>sha256sum file.iso<\/code> \u00b7 <code>sha512sum file.iso<\/code><\/td><\/tr>\n<tr><td>Cisco IOS \/ IOS XE (on the device)<\/td><td><code>verify \/md5 flash:&lt;image&gt;.bin<\/code> \u2014 newer releases also offer SHA-512; check with <code>verify ?<\/code>. For signed images, also run <code>show software authenticity file flash:&lt;image&gt;.bin<\/code>.<\/td><\/tr><\/table><\/div><\/section>\n<section class=\"sec\" id=\"m212fh-why\"><h3>Why verify hashes?<\/h3><ul class=\"l\"><li>A hash is a fingerprint: change a single bit of the file and the hash changes completely.<\/li><li>Matching the vendor&#8217;s published hash proves the file wasn&#8217;t corrupted in transfer or swapped by an attacker on a mirror, proxy or file share.<\/li><li>Get the expected hash from the vendor&#8217;s own website over HTTPS \u2014 not from the same place you downloaded the file.<\/li><li>Hashes show integrity, not trust. For software you install, also check the digital signature where the vendor provides one.<\/li><\/ul><\/section>\n<p class=\"small noprint\" style=\"margin:-8px 0 18px;padding:0 4px\">\u2696\ufe0f For education and use on systems you own or are authorised to test. Results are automated guidance, not a professional audit. See our <a href=\"\/terms-of-use\/\">terms of use<\/a> and <a href=\"\/privacy-policy\/\">privacy policy<\/a>.<\/p>\n<div class=\"help\"><div><div class=\"kick\" style=\"margin-bottom:4px\">Need expert help?<\/div>\n<p style=\"font-size:17px;margin:0\"><b>MAG212 CYBER<\/b> offers network and cybersecurity consultation, plus security seminars for organisations around the world.<\/p><\/div>\n<a class=\"cta\" href=\"\/services\/\">Explore our services \u2192<\/a><\/div>\n<script>\n(function(){\nvar root=document.getElementById('m212-file-hash-checker'); if(!root) return;\nfunction $(i){ return document.getElementById(i); }\nvar ALG=['SHA-256','SHA-512','SHA-384','SHA-1'], last={};\nfunction hex(b){ return Array.prototype.map.call(new Uint8Array(b),function(x){ return ('0'+x.toString(16)).slice(-2); }).join(''); }\nfunction compare(){\n  var e=$('m212fhexp').value.trim().toLowerCase().replace(\/^.*[\\s=:]\/,'').replace(\/[^0-9a-f]\/g,''), v=$('m212fhv');\n  Array.prototype.forEach.call(root.querySelectorAll('.fh-row'),function(r){ r.classList.remove('match'); });\n  if(!e){ v.textContent=''; return; } if(!Object.keys(last).length){ v.textContent=''; return; }\n  var hit=null; ALG.forEach(function(a){ if(last[a]===e) hit=a; });\n  if(hit){ v.textContent='\u2705 Match \u2014 the file\\'s '+hit+' hash equals the published value.'; v.style.color='var(--green)'; var r=root.querySelector('.fh-row[data-a=\"'+hit+'\"]'); if(r) r.classList.add('match'); }\n  else if([32,40,64,96,128].indexOf(e.length)<0){ v.textContent='\u26a0\ufe0f That doesn\\'t look like a complete hash ('+e.length+' hex characters).'; v.style.color='var(--amber)'; }\n  else if(e.length===32){ v.textContent='\u26a0\ufe0f That is an MD5 hash. Use the SHA-256 or SHA-512 value from the vendor page instead.'; v.style.color='var(--amber)'; }\n  else { v.textContent='\ud83d\udea9 No match. Do not use this file \u2014 download it again from the official source.'; v.style.color='var(--red)'; }\n}\nasync function hashFile(f){\n  var err=$('m212fherr'); err.style.display='none'; $('m212fhname').textContent=f.name+' \u00b7 '+(f.size\/1048576).toFixed(2)+' MB'; $('m212fhres').innerHTML='<p class=\"small\">Hashing\u2026<\/p>'; last={};\n  try{\n    var buf=await f.arrayBuffer(), rows='';\n    for(var i=0;i<ALG.length;i++){ var h=hex(await crypto.subtle.digest(ALG[i],buf)); last[ALG[i]]=h; rows+='<div class=\"fh-row\" data-a=\"'+ALG[i]+'\"><b>'+ALG[i]+(ALG[i]==='SHA-1'?' <span class=\"small\">(legacy)<\/span>':'')+'<\/b><code>'+h+'<\/code><button type=\"button\" data-cp=\"'+h+'\" style=\"padding:5px 10px;font-size:13px\">Copy<\/button><\/div>'; }\n    $('m212fhres').innerHTML=rows;\n    Array.prototype.forEach.call(root.querySelectorAll('[data-cp]'),function(b){ b.addEventListener('click',function(){ try{ navigator.clipboard.writeText(b.getAttribute('data-cp')).then(function(){ b.textContent='Copied \u2713'; setTimeout(function(){ b.textContent='Copy'; },1500); }); }catch(e){} }); });\n    compare();\n  }catch(e){ $('m212fhres').innerHTML=''; err.textContent='Could not read the file. It may be too large for your browser\\'s memory \u2014 use one of the command-line options below.'; err.style.display='block'; }\n}\n$('m212fhf').addEventListener('change',function(){ if(this.files.length) hashFile(this.files[0]); });\nvar dz=$('m212fhdrop');\ndz.addEventListener('dragover',function(e){ e.preventDefault(); dz.classList.add('over'); });\ndz.addEventListener('dragleave',function(){ dz.classList.remove('over'); });\ndz.addEventListener('drop',function(e){ e.preventDefault(); dz.classList.remove('over'); if(e.dataTransfer.files.length) hashFile(e.dataTransfer.files[0]); });\n$('m212fhexp').addEventListener('input',compare);\nwindow.m212fh={hashFile:hashFile,last:function(){ return last; }};\n})();\n<\/script>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>MAG212 CYBER \u00b7 Tools File hash checker. Verify that a download \u2014 a Cisco IOS XE image, an ISO, an installer \u2014 is exactly what the vendor published. Calculate SHA-256, SHA-512 and more, and compare with the published value. The file never leaves your computer. Check a fileCommand-line equivalentsWhy verify hashes? Check a file \ud83d\udcc1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3386,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3462","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/pages\/3462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/comments?post=3462"}],"version-history":[{"count":0,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/pages\/3462\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/pages\/3386"}],"wp:attachment":[{"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/media?parent=3462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}