string crypt
(string str, string
[salt]
);cryptは、Unix 標準のDES 暗号化手法を使って文字列を暗号化します。引数は暗号化したい 文字列を指定し、オプションで暗号化のベースとなる 2 文字の 'salt' 文字列を指定します。暗号化に関する関数の詳細は Unix man ページを参照してください。
salt 引数が指定されない場合、PHP によりランダムに生成されます。
いくつかのオペレーティングシステムは、複数の暗号化方式をサポートしています。 実際、標準の DES 暗号化の替わりに MD5 に基づく暗号化アルゴリズムが 使用されることが時々あります。 暗号化手法は、salt 引数により選定されます。 インストール時に、PHP は crypt 関数の機能を定義し、他の暗号化方式用の salt を受付ます。 salt が指定されない場合、 システムのデフォルトの暗号化手法が MD5 でない限り PHP はデフォルトで標準の2文字 DES salt を自動的に生成します。 暗号化手法が MD5 の場合、MD5 互換の salt が生成されます。 PHP は、 標準の2文字の salt をシステムに適用するか、 より長い 12 文字 MD5 salt が適用できるかを意味する 定数 CRYPT_SALT_LENGTH を設定します。
標準 DES 暗号化 crypt は、 出力の最初の2文字を salt として使用します。
crypt() 関数が複数の暗号化手法をサポートするシステムにおいては、 指定した型を利用可能であるかにより、次の定数を 0又は1に設定します。
CRYPT_STD_DES - 2文字 SALT の標準 DES 暗号
CRYPT_EXT_DES - 9文字の拡張DES暗号
CRYPT_MD5 - $1$ で始まる12文字のSALTを有するMD5暗号
CRYPT_BLOWFISH - $2$ で始まる16文字の拡張DES暗号
cryptは単方向アルゴリズムを使用している ため、復号化するための関数 (decrypt) はありません。