Posterous theme by Cory Watilo

ところでパスワードの保存は

記者「ところでパスワードの保存はどうすればいいんでしょうね」

デスク「決まってるだろ、小沢だよ小沢」

記者「さすがデスク、情報通ですね」

デスク「いいから検索しろ!」

 

 

すみません、出だしから少し間違えました。

パスワードの保存は次3つののルールにのっとってやりましょう

ルール1

パスワードは平文で保存しないで暗号化する

ルール2

復号化できる暗号化をしない。

ルール3

パスワードは暗号化する

 

具体的にはこんな手順で

1.パスワードを暗号化するためランダムデータ(Saltとかいう奴)を用意します。

2.Saltを使って暗号化

3.保存

ユーザーがパスワードを入力したら

1.入力したパスワードを上と同じ手順で暗号化

2.データベースのパスワード(暗号化済み)と比較

以上

 

ちなみに、Saltはユーザーごとに用意する必要があるので、「パスワードを忘れたときのヒント」みたいな感じでユーザーに入力させる方法もとれます。

その場合はSalt自体も暗号化する必要があるから、Saltを暗号化するSaltもほしくなっちゃう。

塩分とり過ぎ。

 

なんつって。

 

結論

システム開発を依頼してて、相手が「ユーザーがパスワードを忘れたときはメールでパスワードを送ります」とか言い出したら、危険信号。