どういうわけか、自分のニーズに合った安全なパスワードジェネレーターを独自に実装したかったのです。 このスクリプトは、mcryptライブラリを使用して彼の小さなPHPプロジェクト用に作成されました。 アクションの原則自体は私にとって興味深いものであるため、このコードを共有することにしました。
実装のパフォーマンス特性:
-文字範囲:Aa — Zzおよび0-9
-パスワードの最大長:300文字
-rand()は使用されません
-パスワードは、ブロック結合モード(CBCモード)の対称ブロックアルゴリズムSerpent-256を介して生成されます。
秘密を変更する初期ベクトル、秘密鍵、ランダムな文字の長い秘密ブロック
-SHA256を使用するベクトルを変更するには
-3つのファイル:generator.php、counter.txt、iv.txt
-美のためのカウンターがあります
2つの機能:
make_password(int length); // , 22 = 128 bit
print_password(int length); //
擬似コード: base64(蛇(キー、iv、プレーンテキスト、cbc))
これが、プロセスの最も重要な部分であるパスワードの実行方法です。
(初期ベクトルと他のすべてはどのように変化しますか
PHPコードでご覧ください。
コード内の興味深い場所にコメントがあります。)
完全なジェネレーターコード、htmlタグを含む:
http://www.copypastecode.com/8660/
generator.phpは、パスワードをすばやくコピーするためのこのようなテーブルを作成します。
これはすべて、暗号化されたSSLチャネルを介してサーバー上で機能するため、パスワードは自分だけに表示されます。
私はあなたにリンクを差し上げません-私は貪欲な妄想者です、まだ私をハックしてトラフィックを奪います。
このコードを使用する場合は、すべての値(キー、ベクトル、テキスト、およびカウンター)を変更します。 私のベクトルとカウンターはファイルに保存されます。データベース(MySQLなど)または他の場所に自分のベクトルとカウンターを保存できます。 ローカルマシンまたは安全なチャネルを介してパスワードを生成することをお勧めします。 私の意見では、単純なhttpを介してこのコードをパブリックドメインに置くことは非常に愚かです。
招待してくれたクールなlyxsus hubramanに感謝します。