そのまんま!
mhash_keygen_s2k
(PHP 4 >= 4.0.4, PHP 5)
mhash_keygen_s2k -- キーを生成する
説明
string
mhash_keygen_s2k ( int hash, string password, string salt, int bytes )
hash
にユーザが指定した password
を用いてキーを生成します。
OpenPGP のドキュメント (RFC 2440)
で規定されている、Salted S2k アルゴリズムを使用します。
ユーザが指定したパスワードは、暗号化アルゴリズムのキーとしては
適切ではないということを覚えておきましょう。ユーザが選択するのは、
通常はキーボードから入力可能なキーだからです。
これらのパスワードは、文字当たり 6 から 7 ビットのみ(もしくはそれ以下)
しか使用していません。ユーザの指定したキーに対して、
(この関数のような) ある種の変換を行うことを強く推奨します。
パラメータ
hash
キーの作成に使用するハッシュ ID。MHASH_XXX
定数のいずれかを指定します。
password
ユーザが指定したパスワード。
salt
異なったキーを生成するため、キーを生成するたびに、
十分にランダムな異なる値となる必要があります。 キーを調べる際に
salt を知っている必要があるため、キーを salt に付加するというのは
良い発想です。salt は 8 バイト固定長で、これより少ない場合はゼロで
埋められます。
bytes
キーの長さをバイト数で指定します。
返り値
生成されたキーを表す文字列、あるいはエラー時に FALSE を返します。