前回(02)、前々回(01)でユーザーデータ抜き出しとパスワードチェックまでやっててその後放置状態でしたが、今回はosCommerceのユーザーパスワードの暗号化で最終回です。
もう長いこと間空いてしまったのでサッサとコード出しときます。
前回同様osCommerceのパスワード処理部分をコピってきてます。
// 仮にフォームから入力されたパスフレーズ $plain = "FUJIMIDAYO"; // ランダムシード生成 function tep_rand($min = null, $max = null) { static $seeded; if (!isset($seeded)) { mt_srand((double)microtime()*1000000); $seeded = true; } if (isset($min) && isset($max)) { if ($min >= $max) { return $min; } else { return mt_rand($min, $max); } } else { return mt_rand(); } } // 暗号化文字列生成 function tep_encrypt_password($plain) { $password = ''; for ($i=0; $i<10; $i++) { $password .= tep_rand(); } $salt = substr(md5($password), 0, 2); $password = md5($salt . $plain) . ':' . $salt; return $password; } // 暗号化確認 $ato = tep_encrypt_password($plain); echo "プレーン:".$plain."<br />"; echo "暗号文字:".$ato."<br />";
んでコレをED-CUBEとかの会員登録処理に埋込む・・・トカするとまた禿げると思いマス。ええ。
あ、今回のコードはosCommerceの下記ファイルからの抜き出しです。(←それを先に書いとけよ!)
/catalog/includes/functions/password_funcs.php
/catalog/includes/functions/general.php
取り急ぎこんな感じ。