どういうわけか、自分のニーズに合った安全なパスワードジェネレーターを独自に実装したかったのです。 このスクリプトは、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を介してこのコードをパブリックドメインに置くことは非常に愚かです。
このトピックは、招待を受けるという貪欲で利己的な目的のために書かれました。 招待して、別の4スレッド、Chesna-Chesnaを書きます。招待してくれたクールなlyxsus
hubramanに感謝します。