バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 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
居住地:
投稿: 50
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
居住地:
投稿: 50
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
居住地:
投稿: 50
Re: dtb_customer passwordについて
src/Eccube/Security/Core/Encoder/PasswordEncoder.php

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


 



ログイン


EC-CUBEペイメント

ec-cube.co

統計情報

総メンバー数は50,992名です
総投稿数は93,510件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1984
4
468
1858
5
yuh
1604
6
red
1353
7
umebius
1296
8
h_tanaka
924
9
fukap
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
774
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

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