[EC-CUBE] 2.11系のパスワード生成方法

自由が丘で働くWeb屋のブログ

[EC-CUBE] 2.11系のパスワード生成方法

[EC-CUBE] 2.11系のパスワード生成方法

Webシステムにおいてユーザーのパスワードはsha1などのハッシュアルゴリズムを用いてハッシュ化(暗号化)した上でデータベースに保存するのが一般的ですが、EC-CUBEでは少々複雑なハッシュ化を行なっています。
EC-CUBE2.10系や2.11系、2.12系のハッシュ化の詳細は以下から。

EC-CUBEのパスワード生成方法

パスワードのハッシュ化は『/data/class/util/SC_Utils.php』内の『sfGetHashString()』関数が担っています。

    /**
     * パスワードのハッシュ化
     *
     * @param string $str 暗号化したい文言
     * @param string $salt salt
     * @return string ハッシュ暗号化された文字列
     */
    function sfGetHashString($str, $salt) {
        $res = '';
        if ($salt == '') {
            $salt = AUTH_MAGIC;
        }
        if (AUTH_TYPE == 'PLAIN') {
            $res = $str;
        } else {
            $res = hash_hmac(PASSWORD_HASH_ALGOS, $str . ':' . AUTH_MAGIC, $salt);
        }
        return $res;
    }

『PASSWORD_HASH_ALGOS』や『AUTH_MAGIC』などの定数は『/data/config/config.php』内で設定されています。
また『$salt』はデータベース内の『dtb_member』や『dtb_customer』内にユーザー毎に保存されています。

 
カテゴリー:Webシステム開発
タグ:,
2013年4月17日 04時24分
 

関連記事

 

この記事へのコメント

コメントを書く

This blog is kept spam free by WP-SpamFree.

(C) 自由が丘で働くWeb屋のブログ
Get Adobe Flash player