たぶんわかって書いてるんだと思うけど、自分のために思考整理。 ブログが続かないわけ | MD5は復号できる!? http://en.yummy.stripper.jp/?eid=719489 Digest::MD5::Reverseは、あくまで 「おなじハッシュ値をもつデータを引っ張ってくる」 だけで別に復号できるわけじゃないよね。 元データ:a に対して、 aのハッシュ値:f(a) だとすると、 f(a) = f(b) となる 別のデータ:b を出してくると(※もちろんa=bの可能性もある)。 ただし、ハッシュ関数の特性として実用的な時間内にbを算出するのは難しいので、一種のブルートフォースを行えるようあらかじめデータベースに ハッシュ値:データ の表を蓄積している、と。やり方としてはMD5以前にDESでパスワード保存していたころのcrackとあんまかわらない。 「こういうものがあると
前回のエントリ(パスワードを平文で管理するのはダメだ)のブクマコメントでYappoさんから貴重な情報を頂いた。 MD5が復号できるというのだ。 しかも、それができるDigest::MD5::ReverseというCPANモジュールがあるという。 これには驚いた。いろいろな情報を当たったところ、やはりMD5などのハッシュは復号できないと書いてあるからだ。 http://www5f.biglobe.ne.jp/~h-it/mlcont/mc0200.htm http://gimite.net/bcbqtree/qtreemain.cgi?mode=thread&thread=376 http://www.postgresql.jp/document/pg803doc/html/encryption-options.html しかし、こういうところでいう「復号できない」というのは「復号するアルゴリ
(Last Updated On: 2018年4月3日)パスワードを平文で保存するのは論外で、MD5やSHA1でハッシュ化するのは当たり前です。しかし、SHA1を2000倍早くクラックする方法などが発見され「SHA1は脆弱だ」(ちなみにMD5はもっと危険)とされてからしばらく経ちます。アメリカ政府や大手企業はSHA1は使わない、としています。 Slashdot.orgにまた載っているので更に高速化できた、ということか? 参考: RainbowテーブルによるMD5ハッシュのクラック(英語) RainbowテーブルによるSHA1ハッシュのクラック(英語) 前のエントリ PostgreSQLでSHA1 でPostgreSQLでSHA1を使う方法の一つを紹介していますが可能であればSHA512など、より強いハッシュ関数を利用したり、Saltを利用する、等の方法を採用した方が良いと思います。 備考:
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く