酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

WindowsストアアプリとWindows Phoneアプリでパスワードの強度をチェックするシンプルなライブラリを移植しました

ウェブサービスなどでアカウントを作成する際にパスワード強度をチェックされることがよくあります。例えばGMailのアカウントを作成する時には下図のように表示されます。

f:id:ch3cooh393:20140108123659p:plain

jQueryでパスワード強度を計るライブラリをベースにして、laiso+iphoneさんがiOSアプリ向けに移植されていました。元ネタはこちら。

こちらのコードを参考にして、WindowsストアアプリやWindows Phoneアプリで動くようにしたライブラリを作りました。

PCLで作りましたので、.NET Framework 4.5以上、Windowsストアアプリ(Win8.1以上)、Windows Phoneアプリ(WP8.0以上)のどれでも使えるかと思います。

f:id:ch3cooh393:20140108122829g:plain

メソッド名やプロパティについては.NETの命名規則に合わせて、アッパーキャメルケースに直していますが、内部的な処理や使い方については、laisoさんが作られたライブラリのままにしています。

ですので、パスワードの強度を求めるのもシンプルに下記のように書くだけです。

var result = Softbuild.Security.PasswordStrength.Validate("simple");
result.Complexity; // 0.0f - 1.0f
result.Valid; // YES or NO

パスワード強度の算出は

  • 文字数を長くする
  • 小文字、大文字、数字、記号を使う
  • 文字の種類を多く使う

で数値が増えるようになっていると思います。頻出単語を辞書データでチェックして警告を出さないのもベースのプロジェクトと同様です。

追記(2014/1/8)

Windowsストアアプリでの使用例として、デモアプリのプロジェクトを追加しました。