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


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

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

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

    github zxcvbn

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>基于规则评分的密码强度检测算法分析及实现</title>
    </head>
    <style>
    .container > * {
       200px;
    }
    .bar {
      margin: 5px 0 3px;
      border: 2px solid #ccc;
      overflow: hidden;
    }
    .bar > span {
      display: block;
      height: 20px;
       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

  • 相关阅读:
    hashlib加密算法
    gc 模块常用函数
    functools函数中的partial函数及wraps函数
    ctime使用及datetime简单使用
    __new__方法理解
    __getattribute__小例子
    == 和 is 的区别
    线程_可能发生的问题
    线程_进程池
    【网站】 简单通用微信QQ跳转浏览器打开代码
  • 原文地址:https://www.cnblogs.com/feixiablog/p/9277305.html
Copyright © 2020-2023  润新知