{"id":3460,"date":"2026-10-28T09:02:05","date_gmt":"2026-10-28T16:02:05","guid":{"rendered":"https:\/\/cyber.mag212.com\/tools\/password-checker\/"},"modified":"2026-10-31T10:42:29","modified_gmt":"2026-10-31T17:42:29","slug":"password-checker","status":"publish","type":"page","link":"https:\/\/cyber.mag212.com\/fr\/tools\/password-checker\/","title":{"rendered":"V\u00e9rificateur de force et de violation de mot de passe"},"content":{"rendered":"\n<div class=\"m212x\" id=\"m212-password-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>Password strength &amp; <span>breach checker.<\/span><\/h2><p>See how long a password would hold up against real attacks, and check whether it has already appeared in a data breach \u2014 without the password ever leaving your device.<\/p><div class=\"toc\"><a href=\"#m212pw-tool\">Check a password<\/a><a href=\"#m212pw-how\">How the breach check stays private<\/a><a href=\"#m212pw-tips\">Strong password habits<\/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<section class=\"sec\" id=\"m212pw-tool\"><h3>Check a password<\/h3>\n<div class=\"sn-row\"><input type=\"password\" id=\"m212pwi\" aria-label=\"Password to check\" autocomplete=\"off\" spellcheck=\"false\" style=\"flex:1;min-width:220px;width:100%;background:#060a0f;color:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:12px 14px;font-size:16px;font-family:inherit\"><button type=\"button\" id=\"m212pwshow\">Show<\/button><\/div>\n<div class=\"meter\"><i id=\"m212pwbar\"><\/i><\/div>\n<div class=\"sn-head\"><b id=\"m212pwlab\" style=\"font-size:18px\">Type a password to begin<\/b><span class=\"small\" id=\"m212pwbits\"><\/span><\/div>\n<div class=\"sn-kv\" id=\"m212pwkv\"><\/div>\n<div id=\"m212pwfb\"><\/div>\n<div class=\"rec\" style=\"margin-top:14px\"><b>Has it been in a data breach?<\/b><div class=\"small\" style=\"margin-bottom:10px\">Checks the password against Have I Been Pwned&#8217;s database of passwords exposed in known breaches. Only the first 5 characters of the password&#8217;s SHA-1 hash are sent.<\/div><button type=\"button\" class=\"pri\" id=\"m212pwhibp\">Check breaches<\/button><div id=\"m212pwhr\" style=\"margin-top:10px;font-weight:700\"><\/div><\/div>\n<p class=\"small\" style=\"margin-top:12px\">\ud83d\udd12 Strength is calculated in your browser. Nothing you type is stored or sent, except the anonymous 5-character hash prefix when you press <b>Check breaches<\/b>. Need a strong one? Use the <a href=\"\/tools\/password-generator\/\">password generator<\/a>.<\/p><\/section>\n<section class=\"sec\" id=\"m212pw-how\"><h3>How the breach check stays private<\/h3><ol class=\"l\"><li>Your browser computes the SHA-1 hash of the password locally, e.g. <code>5BAA61E4C9B93F3F\u2026<\/code><\/li><li>Only the first five characters (<code>5BAA6<\/code>) are sent to <a href=\"https:\/\/haveibeenpwned.com\/Passwords\" target=\"_blank\" rel=\"noopener\">Pwned Passwords<\/a>.<\/li><li>The service returns every breached hash that starts with those characters \u2014 hundreds of them.<\/li><li>Your browser looks for a match locally. The service never learns your password or even which hash you were checking. This technique is called <b>k-anonymity<\/b>.<\/li><\/ol><\/section>\n<section class=\"sec\" id=\"m212pw-tips\"><h3>Strong password habits<\/h3><ul class=\"l\"><li><b>Length beats complexity.<\/b> A four-to-six word passphrase is stronger and easier to remember than <code>P@ssw0rd!<\/code>.<\/li><li><b>Never reuse passwords.<\/b> When one site is breached, attackers try the same email and password everywhere else (credential stuffing).<\/li><li><b>Use a password manager<\/b> to generate and store a unique password for every account.<\/li><li><b>Turn on multi-factor authentication<\/b>, ideally passkeys or an authenticator app, for email, banking and work accounts.<\/li><li>Follow NIST SP 800-63B: no forced periodic changes, but change immediately if a password appears in a breach.<\/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-password-checker'); if(!root) return;\nfunction $(i){ return document.getElementById(i); }\nvar COMMON=[\"123456\", \"password\", \"12345678\", \"qwerty\", \"123456789\", \"12345\", \"1234\", \"111111\", \"1234567\", \"dragon\", \"123123\", \"baseball\", \"abc123\", \"football\", \"monkey\", \"letmein\", \"696969\", \"shadow\", \"master\", \"666666\", \"qwertyuiop\", \"123321\", \"mustang\", \"1234567890\", \"michael\", \"654321\", \"superman\", \"1qaz2wsx\", \"7777777\", \"121212\", \"000000\", \"qazwsx\", \"123qwe\", \"killer\", \"trustno1\", \"jordan\", \"jennifer\", \"zxcvbnm\", \"asdfgh\", \"hunter\", \"buster\", \"soccer\", \"harley\", \"batman\", \"andrew\", \"tigger\", \"sunshine\", \"iloveyou\", \"2000\", \"charlie\", \"robert\", \"thomas\", \"hockey\", \"ranger\", \"daniel\", \"starwars\", \"klaster\", \"112233\", \"george\", \"computer\", \"michelle\", \"jessica\", \"pepper\", \"1111\", \"zxcvbn\", \"555555\", \"11111111\", \"131313\", \"freedom\", \"777777\", \"pass\", \"maggie\", \"159753\", \"aaaaaa\", \"ginger\", \"princess\", \"joshua\", \"cheese\", \"amanda\", \"summer\", \"love\", \"ashley\", \"nicole\", \"chelsea\", \"biteme\", \"matthew\", \"access\", \"yankees\", \"987654321\", \"dallas\", \"austin\", \"thunder\", \"taylor\", \"matrix\", \"minecraft\", \"welcome\", \"admin\", \"administrator\", \"passw0rd\", \"password1\", \"password123\", \"qwerty123\", \"iloveyou1\", \"welcome1\", \"admin123\", \"root\", \"toor\", \"login\", \"changeme\", \"letmein1\", \"test\", \"test123\", \"guest\", \"default\", \"secret\", \"p@ssw0rd\", \"p@ssword\", \"abcd1234\", \"1q2w3e4r\", \"1q2w3e\", \"123abc\", \"football1\", \"baseball1\", \"monkey1\", \"dragon1\", \"sunshine1\", \"princess1\", \"qwe123\", \"zaq12wsx\", \"asdf1234\", \"spring2024\", \"summer2024\", \"winter2024\", \"fall2024\", \"spring2025\", \"summer2025\", \"company\", \"cisco\", \"cisco123\", \"router\", \"switch\", \"correcthorsebatterystaple\", \"welcome123\", \"hello123\", \"iloveyou123\"];\nvar SEQ=['abcdefghijklmnopqrstuvwxyz','01234567890','qwertyuiopasdfghjklzxcvbnm','1qaz2wsx3edc4rfv'];\nfunction deleet(s){ return s.replace(\/@\/g,'a').replace(\/4\/g,'a').replace(\/3\/g,'e').replace(\/[1!|]\/g,'i').replace(\/0\/g,'o').replace(\/\\$\/g,'s').replace(\/5\/g,'s').replace(\/7\/g,'t'); }\nfunction analyse(pw){\n  var fb=[], L=pw.length, pool=0;\n  if(\/[a-z]\/.test(pw)) pool+=26; if(\/[A-Z]\/.test(pw)) pool+=26; if(\/[0-9]\/.test(pw)) pool+=10; if(\/[^a-zA-Z0-9]\/.test(pw)) pool+=33;\n  var bits=L*Math.log2(pool||1), low=pw.toLowerCase(), core=low.replace(\/[^a-z]\/g,'');\n  var base1=deleet(low.replace(\/[0-9!@#$%^*.?_\\-]+$\/,'').replace(\/^[0-9!@#$%^*.?_\\-]+\/,'')), base2=deleet(low).replace(\/[^a-z]\/g,'');\n  if(COMMON.indexOf(low)>-1 ? true : COMMON.indexOf(deleet(low))>-1){ bits=Math.min(bits,10); fb.push(['bad','This is one of the most common passwords. Attackers try it first.']); }\n  else if(core.length>=4 ? (COMMON.indexOf(base1)>-1 ? true : COMMON.indexOf(base2)>-1) : false){ bits=Math.min(bits,22); fb.push(['bad','It is a common password with a few numbers, symbols or look-alike characters added \u2014 a pattern cracking tools try automatically.']); }\n  else { var hitw=COMMON.filter(function(c){ return c.length>=5 ? deleet(low).indexOf(c)>-1 : false; })[0]; if(hitw){ bits-=12; fb.push(['warn','Contains a very common password or word (\"'+hitw+'\").']); } }\n  var words=pw.split(\/[\\s\\-_.,]+\/).filter(Boolean); if(words.length>=3) if(words.every(function(w){ return \/^[A-Za-z]+[0-9]?$\/.test(w); })){ var pb=words.length*11+(\/[0-9]\/.test(pw)?3:0)+(\/[A-Z]\/.test(pw)?2:0); if(pb<bits){ bits=pb; fb.push(['info','Looks like a passphrase: estimated by number of dictionary words ('+words.length+'). Five or more random words is a strong choice.']); } }\n  var rep=pw.match(\/(.)\\1{2,}\/g); if(rep){ bits-=rep.join('').length*2.5; fb.push(['warn','Repeated characters ('+rep[0]+') add almost no strength.']); }\n  var seqHit=false; for(var w=4;w<=L;w++){ for(var i=0;i+w<=L;i++){ var sub=low.substr(i,w); if(SEQ.some(function(s){ return s.indexOf(sub)>-1 ? true : s.split('').reverse().join('').indexOf(sub)>-1; })){ seqHit=sub; } } } if(seqHit){ bits-=seqHit.length*3; fb.push(['warn','Contains a keyboard or alphabet sequence (\"'+seqHit+'\").']); }\n  if(\/(19[5-9]\\d|20[0-4]\\d)\/.test(pw)){ bits-=8; fb.push(['warn','Contains a year. Birthdays and dates are easy to guess.']); }\n  if(\/^[A-Z][a-z]+[0-9!@#$%]{1,6}$\/.test(pw)){ bits=Math.min(bits,30); fb.push(['warn','Capital letter + word + number\/symbol at the end is the most predictable pattern there is.']); }\n  if(L<12) fb.push(['warn','Use at least 12 characters (15+ is better). Length matters more than symbols.']);\n  if(pool<=26) if(L<16) fb.push(['info','Mix in other character types, or make it a longer passphrase.']);\n  if(bits<0) bits=0;\n  return {bits:bits,fb:fb,len:L};\n}\nfunction crack(bits,rate){ var s=Math.pow(2,bits)\/2\/rate; if(s<1) return 'instantly'; var u=[['centuries',3153600000],['years',31536000],['months',2592000],['days',86400],['hours',3600],['minutes',60],['seconds',1]]; for(var i=0;i<u.length;i++){ if(s>=u[i][1]){ var v=s\/u[i][1]; if(u[i][0]==='centuries'){ if(v>1e6) return 'millions of years+'; return Math.round(v).toLocaleString('en-US')+' centuries'; } return Math.round(v)+' '+(Math.round(v)===1?u[i][0].replace(\/s$\/,''):u[i][0]); } } return 'instantly'; }\nfunction render(){\n  var pw=$('m212pwi').value; $('m212pwhr').textContent='';\n  if(!pw){ $('m212pwbar').style.width='0'; $('m212pwlab').textContent='Type a password to begin'; $('m212pwlab').style.color=''; $('m212pwbits').textContent=''; $('m212pwkv').innerHTML=''; $('m212pwfb').innerHTML=''; return; }\n  var a=analyse(pw), b=a.bits, lv;\n  if(b<28) lv=['Very weak','var(--red)',12]; else if(b<40) lv=['Weak','#ff8a5c',32]; else if(b<60) lv=['Fair','var(--amber)',55]; else if(b<80) lv=['Strong','var(--green)',80]; else lv=['Very strong','var(--green)',100];\n  $('m212pwbar').style.width=lv[2]+'%'; $('m212pwbar').style.background=lv[1]; $('m212pwlab').textContent=lv[0]; $('m212pwlab').style.color=lv[1]; $('m212pwbits').textContent='\u2248 '+Math.round(b)+' bits of entropy \u00b7 '+a.len+' characters';\n  var kv=[['Online attack, rate-limited (100\/hour)',crack(b,100\/3600)],['Online attack, no rate limit (10\/second)',crack(b,10)],['Offline, slow hash such as bcrypt (10k\/second)',crack(b,1e4)],['Offline, fast hash on GPUs (10 billion\/second)',crack(b,1e10)]];\n  $('m212pwkv').innerHTML=kv.map(function(x){ var d=document.createElement('div'), s=document.createElement('span'), v=document.createElement('b'); s.textContent=x[0]; v.textContent=x[1]; d.appendChild(s); d.appendChild(v); return d.outerHTML; }).join('');\n  if(!a.fb.length) a.fb.push(['ok','No common weaknesses found. Make sure it is unique to this account.']);\n  $('m212pwfb').innerHTML=''; a.fb.forEach(function(x){ var d=document.createElement('div'); d.className='fl'; var i=document.createElement('span'); i.textContent=({bad:'\ud83d\udea9',warn:'\u26a0\ufe0f',info:'\u2139\ufe0f',ok:'\u2705'})[x[0]]; var t=document.createElement('div'); t.textContent=x[1]; d.appendChild(i); d.appendChild(t); $('m212pwfb').appendChild(d); });\n}\nasync function sha1(s){ var h=await crypto.subtle.digest('SHA-1',new TextEncoder().encode(s)); return Array.prototype.map.call(new Uint8Array(h),function(x){ return ('0'+x.toString(16)).slice(-2); }).join('').toUpperCase(); }\nasync function hibp(){\n  var pw=$('m212pwi').value, out=$('m212pwhr'); if(!pw){ out.textContent='Type a password first.'; out.style.color='var(--amber)'; return; }\n  out.textContent='Checking\u2026'; out.style.color='';\n  try{ var h=await sha1(pw), pre=h.slice(0,5), suf=h.slice(5); var r=await fetch('https:\/\/api.pwnedpasswords.com\/range\/'+pre); if(!r.ok) throw new Error('http'); var t=await r.text(), n=0;\n    t.split('\\n').some(function(line){ var p=line.trim().split(':'); if(p[0]===suf){ n=parseInt(p[1],10); return true; } return false; });\n    if(n>0){ out.textContent='\ud83d\udea9 Found in '+n.toLocaleString('en-US')+' breach records. Never use this password \u2014 change it anywhere you have.'; out.style.color='var(--red)'; }\n    else { out.textContent='\u2705 Not found in known breaches. That is good, but it is not proof of strength.'; out.style.color='var(--green)'; }\n  }catch(e){ out.textContent='Could not reach the breach database. Check your connection and try again.'; out.style.color='var(--amber)'; }\n}\n$('m212pwi').addEventListener('input',render);\n$('m212pwshow').addEventListener('click',function(){ var i=$('m212pwi'); i.type=i.type==='password'?'text':'password'; this.textContent=i.type==='password'?'Show':'Hide'; });\n$('m212pwhibp').addEventListener('click',hibp);\nwindow.m212pw={analyse:analyse,crack:crack,sha1:sha1};\n})();\n<\/script>\n<\/div>\n\n\n\n\n<style>.m212guide{max-width:880px;margin:40px auto 10px;font-family:inherit;color:#c5d7e5;line-height:1.65;font-size:16px}.m212guide h2{color:#fff;font-size:26px;margin:34px 0 10px}.m212guide h3{color:#fff;font-size:18px;margin:20px 0 6px}.m212guide p{margin:0 0 12px}.m212guide ol,.m212guide ul{margin:0 0 14px;padding-left:22px}.m212guide li{margin:5px 0}.m212guide a{color:#3cc8f0}.m212guide .box{border:1px solid #1f3b4d;border-radius:14px;background:#0b1828;padding:18px 22px;margin:16px 0}.m212guide .warn{border-left:4px solid #ff5468}.m212guide details{border:1px solid #1f3b4d;border-radius:12px;background:#0b1828;padding:12px 16px;margin:10px 0}.m212guide summary{cursor:pointer;color:#fff;font-weight:700}.m212guide details p{margin:10px 0 2px}.m212guide .rel{display:flex;flex-wrap:wrap;gap:10px}.m212guide .rel a{border:1px solid #1f3b4d;border-radius:10px;padding:9px 14px;text-decoration:none;background:#0f2336;color:#e6edf3}<\/style><section class=\"m212guide\" id=\"guide\"><h2>How to read your result<\/h2><p>The strength estimate shows roughly how long a password would resist an attacker who is guessing offline, for example after stealing a database of password hashes. Long, unpredictable passwords score well. Names, dates, keyboard patterns and common words with simple substitutions (P@ssw0rd) score badly, because attackers try those first.<\/p><p>The breach check tells you whether the exact password appears in a known breach collection. If it does, <b>stop using it everywhere<\/b>, however strong it looks: attackers load breached passwords into their guessing lists first.<\/p><h2>Build passwords that last<\/h2><ul><li><b>Use a passphrase<\/b>: four or more random, unrelated words, such as <i>river-candle-orbit-plaster<\/i>, are long, strong and easier to type than a jumble of symbols.<\/li><li><b>Never reuse a password.<\/b> One breached site should not unlock your email, bank or work account.<\/li><li><b>Let a password manager do the remembering.<\/b> It creates and stores a unique password for every site and fills it only on the real website, which also helps block phishing pages.<\/li><li><b>Add a second factor<\/b>, and prefer passkeys or security keys where a service offers them, because they can&rsquo;t be typed into a fake site.<\/li><\/ul><div class=\"box warn\"><b>Test safely.<\/b> The breach check is private by design, but the best habit is still to test a password you are about to <i>create<\/i>, or a pattern similar to the one you use, rather than typing every live password you own into any website.<\/div><h2>Frequently asked questions<\/h2><details><summary>Is it safe to check my password here?<\/summary><p>The strength estimate runs in your browser. For the breach check, your browser creates a SHA-1 hash of the password and sends only its first five characters to the Have I Been Pwned range service. The full password, and the full hash, never leave your device.<\/p><\/details><details><summary>My password was found in a breach. What should I do?<\/summary><p>Change it right away on every site where you used it, starting with email and banking. Use a new, unique password for each, turn on two-factor authentication, and check those accounts for recent sign-ins or changes you don&rsquo;t recognise.<\/p><\/details><details><summary>How long should a password be?<\/summary><p>For accounts you type into, aim for at least 14 to 16 characters, or a passphrase of four or more random words. Length matters more than adding a single symbol.<\/p><\/details><details><summary>Are password managers safe?<\/summary><p>Reputable password managers encrypt your vault with a master password that only you know. The risk of one strong, protected vault is far lower than reusing passwords across sites. Protect the manager with a strong passphrase and two-factor authentication.<\/p><\/details><details><summary>What are passkeys?<\/summary><p>Passkeys replace passwords with a cryptographic key stored on your device and unlocked with your fingerprint, face or PIN. They can&rsquo;t be phished or reused, so turn them on wherever they&rsquo;re offered.<\/p><\/details><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Is it safe to check my password here?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The strength estimate runs in your browser. For the breach check, your browser creates a SHA-1 hash of the password and sends only its first five characters to the Have I Been Pwned range service. The full password, and the full hash, never leave your device.\"}},{\"@type\":\"Question\",\"name\":\"My password was found in a breach. What should I do?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Change it right away on every site where you used it, starting with email and banking. Use a new, unique password for each, turn on two-factor authentication, and check those accounts for recent sign-ins or changes you don&rsquo;t recognise.\"}},{\"@type\":\"Question\",\"name\":\"How long should a password be?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"For accounts you type into, aim for at least 14 to 16 characters, or a passphrase of four or more random words. Length matters more than adding a single symbol.\"}},{\"@type\":\"Question\",\"name\":\"Are password managers safe?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Reputable password managers encrypt your vault with a master password that only you know. The risk of one strong, protected vault is far lower than reusing passwords across sites. Protect the manager with a strong passphrase and two-factor authentication.\"}},{\"@type\":\"Question\",\"name\":\"What are passkeys?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Passkeys replace passwords with a cryptographic key stored on your device and unlocked with your fingerprint, face or PIN. They can&rsquo;t be phished or reused, so turn them on wherever they&rsquo;re offered.\"}}]}<\/script><h2>Keep learning<\/h2><div class=\"rel\"><a href=\"\/tools\/password-generator\/\">Password &amp; passphrase generator<\/a><a href=\"\/tools\/phishing-quiz\/\">Phishing quiz<\/a><a href=\"\/tools\/security-assessment\/\">Security self-assessment<\/a><a href=\"\/learn\/learning-paths\/#path-basics\">Security basics path<\/a><\/div><\/section>\n","protected":false},"excerpt":{"rendered":"<p>MAG212 CYBER \u00b7 Tools Password strength &amp; breach checker. See how long a password would hold up against real attacks, and check whether it has already appeared in a data breach \u2014 without the password ever leaving your device. Check a passwordHow the breach check stays privateStrong password habits Check a password Show Type a [&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-3460","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\/3460","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=3460"}],"version-history":[{"count":1,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/pages\/3460\/revisions"}],"predecessor-version":[{"id":3721,"href":"https:\/\/cyber.mag212.com\/fr\/wp-json\/wp\/v2\/pages\/3460\/revisions\/3721"}],"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=3460"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}