SSLなしのWebサイト用のWebログインシステムを構築しているので、実装は次
のとおりです。サーバーに、生のユーザー名とpass_hashed(sha1(password)でハッシュ)の2つのフィールドを持つテーブルがあります。ユーザーがシステムにログインするたびに、私は次のことを行います。
- キーを生成します。
- password_hashed = sha1(キー + sha1(パスワード))
- 3 つの値を送信: ユーザー名、キー、password_hashed
サーバー側では:
- キーがデータベースに保存されているかどうかを確認し、保存されている場合はログインを無効にし、そうでない場合はキーをデータベースに保存します。
- ユーザー名に基づいてユーザー情報を照会し、sha1(key + pass_hased) と password_hashed を比較します。
私の質問は私の方法は大丈夫ですか?はいの場合、キーをタイムスタンプとして使用できますか?