研究者がPHPでハッシュ比較の問題を引き起こす数値を紹介
PHPでは比較に==または!=を使った場合、比較対象が0eから始まりそこに数字が続いている場合は、その値を0として処理するという特徴がある(この表記は0の累乗を意味)。このため、パスワードが数字で構成されており、かつ、その数字をハッシュ化した場合にハッシュ値が0eで始まっている場合、そのパスワードは0として評価されることになる。
つまり、たとえ異なる数値で構成されたパスワードだったとしても、==または!=でそのハッシュ値を比較するコードになっている場合、それらは0として処理されるため同じパスワードであると評価されることになる。今回、Robert氏はそうした問題が発生する数字の例を具体的に紹介しているという。この問題を回避する方法も示されており、比較に==または!=ではなく、それぞれ===または!==を使って比較すればよいとのことだ。
提供元の記事
関連リンク
-
「熱があるから子守り無理」夫の身勝手な言葉で親友の結婚式が消えた日
-
真田ナオキ 浅草公演が大盛況! 公演の一部をYouTube限定公開中&10/29生配信決定!12月には、歌謡ポップスチャンネルでテレビ初放送も!
-
「公的な場でぶっ殺せる」ショートスリーパー堀大輔氏 高須幹弥氏への発言が波紋…父・克弥氏も「容赦しない」とブチ切れ参戦で泥沼展開へ
-
new
《実刑の可能性も》元ジャンポケ斉藤 判決3週間前にYouTube開設の苦しい懐事情…借金は億単位の噂も
-
new
「こんなママで大丈夫?」息子の前で陰口を叩く義母。息子「おばあちゃんは…」⇒静まり返る食卓に響いた“まさかの暴露”に、義母が言葉を失ったワケ