Welcartでは wp_usces_member
テーブルの mem_pass
にパスワードの文字列をハッシュ化した値が保存されていますが、ハッシュ化する際には usces_get_hash()
というハッシュ値を生成する関数を使っています。
ハッシュ値生成関数
ハッシュ値を生成する関数 usces_get_hash()
は \usc-e-shop\functions\function.php
内の5496行目に定義されています。
function usces_get_hash( $str, $salt = NULL, $type = 0 ){
//$hash = md5(trim($str));
$hash_algos = ( defined('USCES_HASH_ALGOS') ) ? USCES_HASH_ALGOS : 'md5';
$secret_key = ( defined('USCES_SECRET_KEY') ) ? USCES_SECRET_KEY : '';
if( $secret_key ) {
$hash = hash_hmac( $hash_algos, $str.$salt, $secret_key );
} else {
$hash = hash( $hash_algos, $str.$salt );
}
$args = compact( 'str', 'salt', 'type' );
return apply_filters( 'usces_filter_get_hash', $hash, $args );
}
ハッシュ値を生成する
実際に test1234 と hoge5678 というパスワード文字列のハッシュ値を生成してみます。
$pass = usces_get_hash( 'test1234' );
var_dump($pass);
string(32) "16d7a4fca7442dda3ad93c9a726597e4"
$pass = usces_get_hash( 'hoge5678' );
var_dump($pass);
string(32) "baea6fbcbc87b62e43f60609bbc0a0bf"
会員登録
上記で生成したハッシュ値のパスワード他必要情報を登録するための以下のようなSQLを用意すれば一括で会員情報を登録することも可能です。
INSERT INTO `wp_usces_member` (ID, mem_cookie, mem_email, mem_pass, mem_name1, mem_name2, mem_name3, mem_name4, mem_zip, mem_address2, mem_address3, mem_tel, mem_fax, mem_delivery_flag, mem_delivery, mem_registered, mem_nicename)
VALUES (NULL, '', 'info@example.com', '16d7a4fca7442dda3ad93c9a726597e4', '山田', '店舗', 'やまだ', 'てんぽ', '', '', '', '', '', '0', '', CURRENT_TIME(), '' );
動作環境情報
"エックスサーバー" x10 "PHP" 7.4.13 "MySQL" 5.7 "WordPress" 5.7.2 "Welcart e-Commerce" 2.2.4
コメント