アカウント名:
パスワード:
10桁に満たないパスワードを勝手にスペースで埋めて登録してたんですよね.
あっちが持ってるデータは,10桁に埋められたものから生成されたものですよね.
それを,スペース埋めなくてもいいようにしたってことは,もしかして例の生パスワードを保存してるんですってやつ?
と思ったけど,手動でスペースを入力してたのを,あっちで勝手にスペースを埋めるようにしただけかな.
仮に平文で保存されていない場合、10桁未満から生成されて保存していたハッシュ値から[10桁未満 + スペース]のハッシュ値は作り出せるの?
誰かサンプルコードを
繰り返しハッシュ関数なら、可能な場合もあるね。
例えばコード変更を最少にしたいなら。
認証関数(ID,パスワード)、戻り値は認証OK/認証NGのみ。// 新仕様新仕様ハッシュ値=新仕様ハッシュ関数(パスワード)新仕様検索結果=認証DB照会(ID,新仕様ハッシュ値)新仕様検索結果がヒットしたら認証OKを返して関数抜ける。
// 旧仕様かもしれない旧仕様ハッシュ値=旧仕様ハッシュ関数(パスワード)旧仕様検索結果=認証DB照会(ID,旧仕様ハッシュ値)旧仕様検索結果がヒットしたら認証OKを返して関数抜ける。
//どっちもヒットしない認証NG返して関数抜ける みたいな風にしてもとりあえずいいけど、偶然の一致による誤通過が起きる可能性が有るのでハッシュ関数や要求レベルによって要検討今回の事例なら新システ
なるほどです。思ってたより工程が多いですが実践的に使えそうです。
ありがとうございます。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ見習い
なぜ解決できた? (スコア:1)
10桁に満たないパスワードを勝手にスペースで埋めて登録してたんですよね.
あっちが持ってるデータは,10桁に埋められたものから生成されたものですよね.
それを,スペース埋めなくてもいいようにしたってことは,もしかして例の生パスワードを保存してるんですってやつ?
と思ったけど,手動でスペースを入力してたのを,あっちで勝手にスペースを埋めるようにしただけかな.
再ハッシュは可能? (スコア:0)
仮に平文で保存されていない場合、
10桁未満から生成されて保存していたハッシュ値から
[10桁未満 + スペース]のハッシュ値は作り出せるの?
誰かサンプルコードを
Re: (スコア:0)
繰り返しハッシュ関数なら、可能な場合もあるね。
Re: (スコア:0)
例えばコード変更を最少にしたいなら。
認証関数(ID,パスワード)、戻り値は認証OK/認証NGのみ。
// 新仕様
新仕様ハッシュ値=新仕様ハッシュ関数(パスワード)
新仕様検索結果=認証DB照会(ID,新仕様ハッシュ値)
新仕様検索結果がヒットしたら認証OKを返して関数抜ける。
// 旧仕様かもしれない
旧仕様ハッシュ値=旧仕様ハッシュ関数(パスワード)
旧仕様検索結果=認証DB照会(ID,旧仕様ハッシュ値)
旧仕様検索結果がヒットしたら認証OKを返して関数抜ける。
//どっちもヒットしない
認証NG返して関数抜ける
みたいな風にしてもとりあえずいいけど、偶然の一致による誤通過が起きる可能性が有るのでハッシュ関数や要求レベルによって要検討
今回の事例なら新システ
Re: (スコア:0)
なるほどです。
思ってたより工程が多いですが実践的に使えそうです。
ありがとうございます。