バージョン選択

フォーラム

メニュー

オンライン状況

21 人のユーザが現在オンラインです。 (9 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 21
もっと...

サイト内検索

質問 > フロント機能 > dtb_customer passwordについて

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
YuyaMTC
投稿日時: 2019/6/7 13:26
対応状況: 開発中
半人前
登録日: 2019/5/31
居住地:
投稿: 22
dtb_customer passwordについて
ハッシュ値をSHA256からSHA512に変更したいと思っているのですが、

config.ymlのpassword_hash_algosを変更はしたのですが、それ以外に変更すべき点教えて頂きたいです。
kishikawa
投稿日時: 2019/6/7 13:59
対応状況: −−−
一人前
登録日: 2018/12/20
居住地: 松戸
投稿: 89
Re: dtb_customer passwordについて
src/Eccube/Security/Core/Encoder/PasswordEncoder.php

上記のコードでパスワードのエンコードをやっています。

$res = hash_hmac($this->config['password_hash_algos'], $raw . ':' . $this->config['auth_magic'], $salt);

という記載でエンコードをしたデータをDBに登録しています。
途中でアルゴリズムを変更すると、
既存のsha256で登録済みのハッシュと
新規で入力されたsha512でエンコードされたハッシュが合わずログインできないかもしれません。
YuyaMTC
投稿日時: 2019/6/7 14:10
対応状況: 開発中
半人前
登録日: 2019/5/31
居住地:
投稿: 22
Re: dtb_customer passwordについて
今回やりたいことの詳細なのですが、
別システムの顧客データを移行しようと考えています。
そのシステムのユーザパスワードがSHA512にハッシュ化されています。

今回EC-CUBEは新規で作成したので既存のデータの心配はありません。
kishikawa
投稿日時: 2019/6/7 15:24
対応状況: −−−
一人前
登録日: 2018/12/20
居住地: 松戸
投稿: 89
Re: dtb_customer passwordについて
なるほど、そうなんですね。
提示したコードのとおり
エンコードする際は、生パスワードに':auth_magic(これはconfig.ymlに設定されています)'をくっつけたものに、さらにDBに設定されているsalt(dtb_customer.salt)を指定してエンコードを行います。

$res = hash_hmac($this->config['password_hash_algos'], $raw . ':' . $this->config['auth_magic'], $salt);

$rawが生のパスワード
$saltがdtb_customer.salt

なので、単純に移行しただけだと、
入力したパスワードはauth_magic付与かつsalt指定でエンコードされるのに対して、
移行前はそのままパスワードをエンコードしているのであれば、一致しないと思います。

元パスワードがどのようにhash化されているか調べると同時に(saltなど指定しているか、他に何か文字をくっつけたりしているか)
元パスワードのエンコードの方法で、エンコードしている部分のコードをカスタマイズするしかないかもしれません。
YuyaMTC
投稿日時: 2019/6/10 13:14
対応状況: 開発中
半人前
登録日: 2019/5/31
居住地:
投稿: 22
Re: dtb_customer passwordについて
カスタマ登録側はカスタマイズし、移行前と同様のハッシュ化の処理にし、値も同じで登録可能になったのですが、ログインで失敗します。

ログイン処理の修正箇所が見つかりませんが、具体的に教えていただきたいです。
kishikawa
投稿日時: 2019/6/10 13:23
対応状況: −−−
一人前
登録日: 2018/12/20
居住地: 松戸
投稿: 89
Re: dtb_customer passwordについて
src/Eccube/Security/Core/Encoder/PasswordEncoder.php

のisPasswordValidでチェックしていると思います。
saltの有無で処理を分岐しているので、
そこでひっかかっているのかなと思いました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,091名です
総投稿数は109,615件です

投稿数ランキング

1
seasoft
7364
2
468
3217
3
AMUAMU
2712
4
nanasess
2302
5
umebius
2085
6
yuh
1814
7
h_tanaka
1609
8
red
1567
9
mcontact
1229
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.