回答編集履歴

1

追記

2018/03/28 09:36

投稿

退会済みユーザー
test CHANGED
@@ -1,14 +1,18 @@
1
- フレームワークを使用しない 素の php のログインシステムであれば、現在は [password_hash](http://php.net/manual/ja/function.password-hash.php) と [password_verify](http://php.net/manual/ja/function.password-verify.php) の組合せ以外の選択肢は無いと思います。
1
+ 前提条件として、フレームワークを使用しない 素の php のログインシステムであれば、現在は [password_hash](http://php.net/manual/ja/function.password-hash.php) と [password_verify](http://php.net/manual/ja/function.password-verify.php) の組合せを使用しない選択肢は無いと思います。
2
2
 
3
3
 
4
4
 
5
- これら関数は、登録時にはパスワードを「ハッシュ化」して、そのハッシュ値に、「使用したアルゴリズム/コスト/ソルト」情報を付加して、DB に登録します。
5
+ 参考記事:[2018年のパスワードハッシュ](https://qiita.com/rana_kualu/items/3ef57485be1103362f56)
6
6
 
7
7
 
8
8
 
9
- 現在主流のログインシステムでは、パスワード同士の比較でなく、パスワードを「ハッシュ化」したモノ比較とが採用されているログイン時フローは、
9
+ これら関数を使用したログインシステムでは、登録時にはパスワードを「ハッシュ化」して、そのハッシュ値に、「使用しアルゴリズム/コスト/ソルト」情報付加したものを DB に登録しまのありはマニュアルや実際挙動を見てください。
10
10
 
11
+
12
+
13
+ で、本題ですが、現在主流のほとんどのログインシステムでは、パスワード同士の比較ではなく、パスワードを「ハッシュ化」したモノを比較し検証する手法が採用されているため、ログイン時のフローは、
14
+
11
- id により、 DB 上のハッシュ情報(ハッシュ値/アルゴリズム/コスト/ソルト)を取得
15
+ ・DB 上のハッシュ情報(ハッシュ値/アルゴリズム/コスト/ソルト)を取得
12
16
 
13
17
  ・その情報を用いて、投稿された password を検証
14
18