現在、クライアント側のjavascriptにパスワードを渡したダイスウェアを作成しています(各クライアントは暗号で安全な疑似乱数のシードを取得します)。ダイスウェアのパスワードクライアント側を生成することは安全です
var password = this.word() + this.separtor() + this.word() + this.separtor() + this.word();
パスワードは、私が見つけることができるすべての強度テスターを渡す生成が、私の懸念は、攻撃者は単にブルート文字の組み合わせを使用してパスワードを強制するが、実際に私に対して私の発電機を使用しないことです。
ワードは()のみ6^4 = 1296個の組み合わせ
を持つように発電機のみ* 1296 * 1296 1296 = 2176782336の組み合わせを生成します。
は私がseperators(24個の組み合わせ)1296 * 24 * 1296 * 24 * 1296 = 1,253,826,625,536CGIの制限ユーザーの試みを追加しましたが、いつものように、攻撃者は自分のパスワードを持つことができ、オフラインをハッシュ。
パスワードサーバー側を生成するのは、ワードリストをコンパイルしても、比較的簡単に(少なくともパスワードハッシュを持つ攻撃者にとっては)比較的簡単な場合にのみ安全です。
私はパスワードが忘れられないようにするために、私はパスフレーズに特殊文字をランダムに追加することはしませんでしたが、攻撃者はすべての文字の組み合わせを試す必要がありますか?
p.sより適切な場合は、これを暗号に移動します。