>  기사  >  웹 프론트엔드  >  JS 비밀번호 생성 및 강도 감지의 전체 예(데모 소스 코드 다운로드 포함)

JS 비밀번호 생성 및 강도 감지의 전체 예(데모 소스 코드 다운로드 포함)

WBOY
WBOY원래의
2018-09-27 10:33:331868검색

이 기사의 예에서는 JS 비밀번호 생성 및 강도 감지 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

1. 강력한 비밀번호를 생성하세요

스크린샷은 다음과 같습니다.

해당 코드는 다음과 같습니다.

function getPwd(n)
{
 var s = '';
 while(n--)
 s += String.fromCharCode(33 + Math.floor(Math.random()*(126-33)))
 document.getElementById('txt1').value = s;
}

2. 비밀번호 크래킹 시간을 계산합니다

스크린샷은 다음과 같습니다.

해당 코드는 다음과 같습니다.

function getTime()
{
 var str = '预计破解用时:';
 var selChar = document.getElementById('selChar');
 var txtPwdLen = document.getElementById('txtPwdLen');
 var num = Math.pow(parseInt(selChar.value), parseInt(txtPwdLen.value));
 str += formatTime(num / (1024*1024*1024*2.4*2));
 document.getElementById('span2').innerHTML = str;
}
function formatTime(s)
{
 var str = '';
 if(s= 1) str = s % 60 + '秒' + str;
 s = Math.floor(s / 60);
 if(s >= 1) str = s % 60 + '分' + str;
 s = Math.floor(s / 60);
 if(s >= 1) str = s % 24 + '时' + str;
 s = Math.floor(s / 24);
 if(s >= 1) str = s + '天' + str;
 return str;
}

3. 감지

스크린샷은 다음과 같습니다.

해당 코드는 다음과 같습니다.

function showPwd()
{
  var p = document.getElementById('txt2').value;
  if(p.length < 4)
  {
    showError(&#39;密码至少4位!&#39;);
    return;
  }
  var o = checkPwd(p);
  if(o.isSame)
  {
    showError(&#39;密码为重复字符!&#39;);
    return;
  }
  for(var i=0; i1900 && year0 && month0 && day<32)
      {
        showError(&#39;不要使用日期作为密码!&#39;);
        return;
      }
    }
  }
  var hasUpper = false;
  var hasLow = false;
  var hasNum = false;
  var hasOther = false;
  for(var i=0; i=65&&c=97&&c=48&&c<=57)hasNum=true;
    else hasOther=true;
  }
  var pwdNum = 0;
  if(hasUpper)pwdNum+=26;
  if(hasLow)pwdNum+=26;
  if(hasNum)pwdNum+=10;
  if(hasOther)pwdNum+=32;
  var num = Math.pow(pwdNum, p.length);
  var str = &#39;密码长度:&#39; + p.length + &#39; 强度:&#39; + pwdNum + &#39; 预计破解用时:&#39; + formatTime(num / (1024*1024*1024*2.4*2));
  var span1 = document.getElementById(&#39;span1&#39;);
  span1.style.color = &#39;blue&#39;;
  span1.innerHTML = str;
}

4. 키보드가 Caps Lock(Caps Lock 키 상태)인지 감지

스크린샷은 다음과 같습니다.

해당 코드는 다음과 같습니다.

var $lock = false;
function checkCapsLock(fn)
{
 document.documentElement.onkeypress = function(e)
 {
  var e = e || event;
  var k = e.keyCode || e.which;
  var s = e.shiftKey || (k == 16) || false;
  if(k>=65&&k=97&&k<=122)$lock=s;
  fn($lock);
 }
 document.documentElement.onkeyup = function(e)
 {
  var e = e || event;
  var k = e.keyCode || e.which;
  if(k==20)$lock = !$lock;
  fn($lock);
 }
}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.