« PHP:number_format()関数 | メイン | PHP:quotemeta()関数 »

2005年09月26日

PHP:crypt()関数

crypt関数は文字列を暗号化する関数です。
crypt($str, $salt);  //$strは暗号化する文字列、$saltは暗号化のキーとする文字列
$saltが同一であれば、暗号化の結果は必ず同じになります。

※この関数は、.htpasswdなどに暗号化したパスワードを書き込む際などによく使用します。

■htpasswdへのID・パスワードの書き込み方法
$pwfile = '/.htpasswd';
$ARRAY = array("studio"=>"1234", "wing"=>"5678");

if($fp = fopen($pwfile, "w")){
    set_file_buffer($fp, 0);  //バッファを0にする
    flock($fp, LOCK_EX);  //ファイルを排他ロック
    while(list($id, $pw) = each($ARRAY)){
        $salt = substr($id, 0, 2);  //$salt作成
        $cryptPw = crypt($pw, $salt);  //パスワード暗号化
        fwrite($fp, "{$id}:{$cryptPw}\n", 32000);  //ファイルに書き込み
    }
    flock($fp, LOCK_UN);  //ファイルロック解除
    fclose($fp);
}

投稿者 wing : 2005年09月26日 21:27

コメント