バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

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

config.ymlのpassword_hash_algosを変更はしたのですが、それ以外に変更すべき点教えて頂きたいです。
kishikawa
投稿日時: 2019/6/7 13:59
対応状況: −−−
常連
登録日: 2018/12/20
居住地:
投稿: 34
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
居住地:
投稿: 20
Re: dtb_customer passwordについて
今回やりたいことの詳細なのですが、
別システムの顧客データを移行しようと考えています。
そのシステムのユーザパスワードがSHA512にハッシュ化されています。

今回EC-CUBEは新規で作成したので既存のデータの心配はありません。
kishikawa
投稿日時: 2019/6/7 15:24
対応状況: −−−
常連
登録日: 2018/12/20
居住地:
投稿: 34
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
居住地:
投稿: 20
Re: dtb_customer passwordについて
カスタマ登録側はカスタマイズし、移行前と同様のハッシュ化の処理にし、値も同じで登録可能になったのですが、ログインで失敗します。

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

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


 



ログイン


ec-cube.co

統計情報

総メンバー数は44,774名です
総投稿数は91,591件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1889
4
468
1743
5
yuh
1584
6
umebius
1296
7
red
1275
8
fukap
907
9
tsuji
837
10
shutta
827
11 ramrun 789
12
tao_s
742
13
h_tanaka
720
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

Copyright© LOCKON CO.,LTD. All Rights Reserved.