パスワードハッシュ

曇り朝は「トリッチトラッチ」でモーニング。
モーニング

仕事では、リニューアル構築中のサイトの会員登録周りを作成中。 前職で会員登録周りをいろいろやっていたが、PHPのバージョンが古すぎて使えなかった「password_hash」「password_verify」で作成した。
標準関数で、簡単に強固なパスワードハッシュと、それの照合が出来るので楽チンだった。
Basic認証でもそうなのだけど、特定のパスワードをソルト・ストレッチング加えてハッシュ化すると、毎回違うハッシュ値が生成される。 それはいいのだけど、それがきちんと照合できるのが不思議で仕方がない。 きちんと仕組み調べたり、ソースコード読めばわかるのだろうけど。

そういえば、今の会社の前任者が作っていったシステムがあるのだけど、それがとんでもないシステムだった。
データベースにログインIDとパスワードが保存されていて、パスワードはハッシュ化されていて、コントロールパネルからパスワードを閲覧することができない。
ここまでは普通のシステム。 ここからが凄かった。 パスワードを失念してしまった場合に、再発行の手段が無い。 パスワードを再設定することは可能なのだけど、再設定するためには既存パスワードを入力しなくてはならない。 その既存パスワードが不明の場合、再発行すらできない。 そんな素敵システムだった。 どうしても、と言われたら、データベースを直接いじって、パスワードが判明しているどこかのIDのパスワードハッシュを、無理やり該当IDのパスワードハッシュに上書きして、そのパスワードを使って再発行する、というような手順になる。 作ったり運用したりしていく中で、こういう疑問は生じなかったのだろうか……

今日はマラソン大会2日前の為、トレーニングは無し。 夕飯食べて、風呂に入って、いつも通りマインクラフトをやって27時位まで楽しんでしまった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です