さまざまな種類のパスワード強度メーターまたはパスワード チェッカーを試しましたが、同じパスワードをテストすると、それぞれが独自のアルゴリズムを実装しているため、すべて異なる結果が得られます。
独自のパスワード強度メーターを構築するために私に従うことができる公式の標準またはガイドラインはありますか?
公式の標準がない場合、優れたパスワード強度メーターはどの機能をチェックする必要がありますか?
さまざまな種類のパスワード強度メーターまたはパスワード チェッカーを試しましたが、同じパスワードをテストすると、それぞれが独自のアルゴリズムを実装しているため、すべて異なる結果が得られます。
独自のパスワード強度メーターを構築するために私に従うことができる公式の標準またはガイドラインはありますか?
公式の標準がない場合、優れたパスワード強度メーターはどの機能をチェックする必要がありますか?
私が知る限り、優れた (つまり、強力な) パスワードがどうあるべきかについて多くの定義があるため、標準はありません。
考慮すべき事項:
等々
私も追加します:ユーザー名の文字列、または長いものの場合はユーザー名の一部も含まれません。
リングに別の基準を投げます:
非常に多くの人が、覚えにくいパスワードをユーザーが覚えていることを期待しているため、狂気を抑えるためにキーボードパターンに頼っています。適切な測定のためにシフトされたバージョンを投入します。
ああ、Twitterの禁止パスワードリストにも何も載っていない。
強力なパスワードを作成するためのガイダンスを提供するガイドライン(google)がいくつかありますが、そのほとんどは常識です。一日の終わりに、あなたはあなた自身の方針(または彼らが持っているなら会社の方針)を強いものとそうでないものに適用することができ、あなたの決定はおそらくあなたが保護しようとしているものに影響されます。
@jayが言ったように、私はそのようなことを標準化することは賢明な習慣ではないと思います!
http://net.tutsplus.com/tutorials/javascript-ajax/build-a-simple-password-strength-checker/
http://www.ibm.com/developerworks/lotus/library/ls-password_quality/index.html#N100F5
このサイトは、彼らが適用しているアルゴリズムと彼らがどのように強さを計算するかについてのアイデアを与えるので、特に良かったと思いました。
パスワードの強度は、特殊文字や数字の存在、パスワードの長さなどのいくつかのパラメーターに代わってチェックする必要があります。
このリンクを確認してください:
http://tinytute.com/2014/06/03/animated-password-strength-checker-quick-easy/
jQuery コード ブロック:
$(document).ready(function(){
$("#textBox").keyup(function(){
var passWord = $("#textBox").val();
var passLength = passWord.length;
var specialFlag = 0;
var numberFlag = 0;
var numberGenerator = 0;
var total = 0;
if(/^[a-zA-Z0-9- ]*$/.test(passWord) == false) {
specialFlag =20;
}
if(passWord.match(/[0-9]/)) {
numberFlag = 25;
}
if(passLength>4&&passLength<=6){
numberGenerator =25;
}else if(passLength>=7&&passLength<=9){
numberGenerator =35;
}else if(passLength>9){
numberGenerator =55;
}else if(passLength>0&&passLength<=4){
numberGenerator =15;
}else{
numberGenerator =0;
}
total = numberGenerator + specialFlag + numberFlag;
if(total<30){
$('#progressBar').css('background-color','#CCC');
}else if(total<60&&total>=30){
$('#progressBar').css('background-color','#FF6600');
}else if(total>=60&&total<90){
$('#progressBar').css('background-color','#FFCC00');
}else if(total>=90){
$('#progressBar').css('background-color','#0f0');
}
$('#progressBar').css('width',total+'%');
});
});