基于密码强度检测算法分析及实现

zxcvbn是一个受密码破解启发而来的密码强度估算器。它通过模式匹配和保守估计,大概可以识别大约30K左右的常规密码。主要基于美国人口普查数据,维基,美国电影,电视流行词以及其它一些常用模式,像日期,重复字符,序列字符,键盘模式和L33T会话等。

zxcvbn支持多种开发语言。因其模式的复杂及字典的存在,当前版本的zxcvbn.js大约有800多K。

要了解项目的详情及算法见zxcvbn官网:

github zxcvbn

 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>基于规则评分的密码强度检测算法分析及实现</title>
</head>
<style>
.container > * {
  width: 200px;
}
.bar {
  margin: 5px 0 3px;
  border: 2px solid #ccc;
  overflow: hidden;
}
.bar > span {
  display: block;
  height: 20px;
  width: 1%;
  background-color: green;
}
</style>
<body>
<div class="container">
  <input id ="pwd" type="text" maxlength="32" />
  <div class="bar">
    <span id="rate"></span>
  </div>
  <span id="score">0</span>
</div>


<script src="https://cdn.bootcss.com/zxcvbn/4.4.2/zxcvbn.js"></script>
<script>
  document.addEventListener('DOMContentLoaded', function () {
    var pwd = document.getElementById("pwd");
    pwd.addEventListener("keyup",function () {
      var result = zxcvbn(pwd.value);
      document.getElementById("score").innerHTML = "评分:"+result['score']*100.0 / 4;
      document.getElementById("rate").style.width = (result['score']*100.0 / 4)+"%";
    });
  });
</script>
</body>
</html>

sdsdsd

转载于:https://www.cnblogs.com/feixiablog/p/9277305.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值