Webセキュリティの小部屋

Twitter のフォローはこちらから Facebook ページはこちら RSSフィードのご登録はこちらから
公開日:2015年3月12日
最終更新日:2015年3月14日

JavaScript パスワード強度判定ライブラリ「Password Checker」

Password Checker とは

「Password Checker」とは、オープンソースのパスワード強度判定 JavaScript ライブラリです。商用利用可能、クレジット表記不要、改変、再配布可能です。

詳しくは以下のページを参照してください。

Password Checker の機能

「Password Checker」は、パスワードを受け取るとパスワードの強度判定を行い、以下の5種類の判定結果を返します。

  1. 弱い
  2. やや弱い
  3. 普通
  4. やや強い
  5. 強い

「Password Checker」は、Microsoft の「パスワード チェッカー: 安全性の高いパスワードの使用 | Microsoft セキュリティ」を参考にして作成しましたが、以下の機能が追加・修正されています。

  • 辞書機能
    • 辞書に載っている文字を含むパスワードは、どんなに文字を増やしても「弱い」と判定
    • 辞書はカスタマイズ可能
  • 数値パスワード判定機能
    • 数字だけのパスワードは、何文字にしても「弱い」と判定
  • 文字列評価
    • 14文字を超えても無条件に強いパスワードにしない

実行サンプル

「Password Checker」のサンプルは以下より試すことができます。ブラウザ上で処理は完結するのでサーバーとパスワードの通信は行いませんが、本物のパスワードは試さないでください。

パスワード
パスワード強度

ダウンロード

使用サンプル

「Password Checker」の使用サンプルは、以下のようになります。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8"> 
  <script type="text/javascript" src="passwordchecker.js"></script>
  <script type="text/javascript">
  function setPasswordLevel(password) {
    var level = getPasswordLevel(password);
    var text = "";
  
    if (level == 1) { text = "弱い";}
    if (level == 2) { text = "やや弱い";}
    if (level == 3) { text = "普通";}
    if (level == 4) { text = "やや強い";}
    if (level == 5) { text = "強い";}
  
    document.getElementById("level").value = text;
  }
  </script>
</head>
<body>
<input type="text" id="password" onkeyup="setPasswordLevel(this.value);">
<input type="text" id="level">
</body>
</html>