NICOSカードのパスワードが8文字に切り詰められて物議を醸している。

詳しくは↓のまとめをどうぞ。
http://togetter.com/li/410227

で!だ。
「パスワード」「8文字」は、PHP等の言語でログイン管理などの設計をした人なら、
ピンとくるキーワードで、直ぐにCryptという言葉が頭にうかぶはずだ。

PHPのCrypt関数の説明:
http://php.net/manual/ja/function.crypt.php

標準の DES ベースの場合、 crypt() は出力の最初の 2 文字を salt として使用します。また、 str の最初の 8 文字しか使用しません。 つまり、最初の 8 文字が同じである長い文字列は、 同じ salt を使う限り同じ結果となります。

システムが古くて、Cryptでハッシュ化していて、
うっかり、Validationを8文字に設定し忘れて、
この問題に気がついて、取り急ぎ、9文字以上はエラーにしたら、
大問題・・・という様が目にうかぶようだ。

実際、これが原因かは不明で、ネットで他の人は
「varchar(8)でDBの領域を切っていて、平文でパスワードを保存しているんじゃね?」
等と言う人も居るみたいだけど、
さすがに、そこまで酷いとは思いたくない・・・


↑この間、訪問した会社の待合室に置いてあって、ぱらぱらと読んでみたけど、
最初の内からセキュリティーの話が出ていて、初心者には良さそうな感じ。