Javascriptの強力で記憶に残るパスワードジェネレーター

画像

提示されたパスワードジェネレーターは、比較的覚えやすく、同時にパスワードの選択が困難です。 基本的な考え方は、パスワードは音節に基づいて生成されるため、単語やフレーズのように見えるということです。 覚えやすくするために、各音節の先頭に大文字を使用します。



Google.Codeのプロジェクト:

code.google.com/p/jspassgen/downloads/list

仕事の例はここにあります:

ビジネスブック.rus / ext / jspassgen / example.html



基礎は、著者であるセルゲイ・ミハイロヴィチ・スヴェシュニコフによって十分に説明されている、わずかに異なるアルゴリズムに基づいています。

「音節は、互いにランダムに配置された1つの母音と1つの子音で構成されていました。 パスワード内のランダムな文字は大文字でした。 一部の音節は数字で区切られており、数字の数は常に偶数でした(ただし、偶然で半分以下)。 番号はペアで使用できます。 指定された長さの、非常に美しく複雑なパスワードが判明しました。 文字数は偶数でした(まあ、私はそれが好きだった)」



同じアルゴリズムはパスワードの文字数を修正せず、たとえば登録中にユーザーに提供されるランダムなパスワードのリストとして実際に使用するように設計されており、必要に応じて、音節の数を調整してパスワードの複雑さを変更できます。

また、numProb係数とその新しい音節ごとに数字が現れる可能性を減らすステップを導入することにより、提案されたパスワードの桁数を規制するメカニズムもあります。



<style> .jsPassGenWrapper { width:300px; height:180px; padding:10px; border:1px solid #aaa; } .jsPassGenWrapper #jsPassGenForm { float:left; width:50%; font-size:16px; font-family:Courier, serif; } .jsPassGenWrapper .jsPassGenCtrls { float:right; width:50%; margin-top:100px; } .jsPassGenWrapper input { padding:0px 10px; } </style> <div class="jsPassGenWrapper"> <div id="jsPassGenForm"></div> <div class="jsPassGenCtrls"> <input type="checkbox" id="jsPassGenUseNumsCB" checked="checked" /> <label for="jsPassGenUseNumsCB">Use numbers</label><br /> <input type="button" value="Create password" onClick="runPassGen()" /> </div> <script type="text/javascript"> /* @param id -     ) @param syllableNum -     @param numPass -       @param useNums -     */ function jsPassGen(id, syllableNum, numPass, useNums) { id = typeof(id) != 'undefined' ? id : 'jsPassGenForm'; //    syllableNum = typeof(syllableNum) != 'undefined' ? syllableNum : 3; numPass = typeof(numPass) != 'undefined' ? numPass : 10; useNums = typeof(useNums) != 'undefined' ? useNums : true; function rand(from, to) { from = typeof(from) != 'undefined' ? from : 0; //  to = typeof(to) != 'undefined' ? to : from + 1; //   return Math.round(from + Math.random()*(to - from)); }; function getRandChar(a) { return a.charAt(rand(0,a.length-1)); } var form = document.getElementById(id); //          var cCommon = "bcdfghklmnprstvz"; var cAll = cCommon + "jqwx"; //   var vAll = "aeiouy"; //   var lAll = cAll + vAll; //   form.innerHTML = ""; for(var j = 0; j < numPass; ++j) { //        var numProb = 0, numProbStep = 0.25; for(var i = 0; i < syllableNum; ++i) { if(Math.round(Math.random())) { form.innerHTML += getRandChar(cCommon).toUpperCase() + getRandChar(vAll) + getRandChar(lAll); } else { form.innerHTML += getRandChar(vAll).toUpperCase() + getRandChar(cCommon); } if(useNums && Math.round(Math.random() + numProb)) { form.innerHTML += rand(0,9); numProb += numProbStep; } } form.innerHTML += "<br />"; } return false; } function runPassGen() { jsPassGen('jsPassGenForm', 3, 10, jsPassGenUseNumsCB.checked); } runPassGen(); </script> </div>
      
      







PS:コメントからの明るい考え:

推奨されるパスワード生成プログラム:

password.nanohertz.net

genpas.narod.ru

pwgen-win.sourceforge.net

genpas.ru



そして、1つのニックネームジェネレーター%):

mbeaver.narod.ru/nicks



シックネス

このアイデアはパスワードのエントロピーを削減するため、どこにでも適用する価値はありません。



ドコモ

... jsで生成されたパスワードは、登録フォームで直接オプションの1つとしてユーザーに提供されますが、サーバーで作成されたパスワードは強制的に設定されます。



ゴンザゾイド

最も記憶に残る技術の私見、最も信頼できる-衝撃的な不条理の技術。 「軟体動物が私のダンスの性器を食いしばった」などのパスワード。 繰り返しますが、これは記憶に残るものです。 ここで説明されているwww.ozon.ru/context/detail/id/855490




All Articles