2017-02-07 1 views
-1

私は、MySQLデータベースに保存されたハッシュされたMD5パスワードを持っています。とにかく、元のパスワードにいくつの文字が含まれているか調べるにはどうすればよいですか?MD5のパスワードの文字の長さを知ることはできますか?

私が読んだことから、とにかくハッシュされたパスワードを解読するのは難しいので、私はそこにいるとは思わない。

とにかく私はこれを行うことができますか?

EDIT:バックラッシュが深刻なため!ハッシュを解読することには興味がありません。なぜなら、私が読んだことから、それは素晴らしい考えではないことが分かっているからです。

私は尋ねる理由があります。

履歴データベースを含む古いシステムを新しい更新アプリケーションに移行しています。すべてのユーザーは、何千ものパスワードをデータベースMD5に保存していますが、ほとんどが8文字未満ですので、元のパスワードが8文字を超えているかどうかを知る方法があるかどうかを知りたければ、ユーザーにパスワードの変更を強制します。

しかし、私はそれのルックス

+3

パスワードがハッシュされると、元の形式ではなくなります。しかし、MD5はパスワードハッシュ(私はあなたにMagentoを見ている)のために使われてはいけません。 – CD001

+0

これは技術的に*可能ですが、多くのリソース(基本的にはブルートフォース)を費やす必要があります。 - md5は "一方向"ハッシュなので、解読できません。あなたは 'md5'が古く、古くなっているので、パスワードの保存には使用しないでください。 – Qirel

+1

*** "元のパスワードにいくつの文字が含まれていたか調べるにはどうしようもありませんか?" *** - そうするためには、元のパスワードを取得した小さなコードを含める必要があります私が追加するかもしれないのは良いエチケットではありません。 –

答えて

7

From OP's comment:

私はただ純粋に自分のパスワードが特定の文字の制限を下回っていた場合は、パスワードを変更TIするすべてのユーザーを強制的に保存するように求めていた - frobak

これに対する答えその後、を使用することです。strlen()

MD5に関しては、それは全く安全ではありません。 30年以上にわたり、多くの水が橋の下を流れています。

使用password_hash():ハッシュを復号化するためとして

。それはやり直すことはできません。それがハッシュと呼ばれ、暗号化されていない理由です。

しかし、私は

その様子で自分のパスワードを変更するには、すべてのユーザーを強制する必要があります:

は「レインボーテーブル」と呼ばれるものがあります

Converting md5 password hashes to PHP 5.5 password_hash()

あなたは「1つの石で2つのポストを打つ」ことができます

ただし、MD5 is 32-lengthpassword_hash()とJay Blanchardがhis commentに記載されているように適切な長さにするためには60+に増やす必要があります。そうしないと、後でpassword_verify()を使用したときに「サイレント」に失敗することがあります。

+1

これは正解です。パスワードの長さを測定する唯一の機会は、ユーザーがパスワードを入力したときです。 – Eamonn

+0

Ahhh。私はそれをこのようにすることができます。私はユーザーの入力を取得し、文字列の長さを取得することができますし、入力されたパスワードがハッシュpwに一致する場合私は私の答えを持っています。ありがとう – frobak

+0

@frobak再び; [このコメントは私が以前にあなたに残した...](http://stackoverflow.com/questions/42094885/is-it-possible-to-find-out-the-character-length-of-a-md5d-password# comment71360138_42094885)。ただし、最初からパスワードの長さを知る方法はありません。今すぐその方法を実装する必要があります。あなたは時間通りに戻ることはできません。 –

3

ハズレで自分のパスワードを変更するには、すべてのユーザーを強制する必要があります。あなたはランダムな文字列を生成し、一致するものを見つけてその長さを測定することができます(これは非常に長い時間がかかりますが、衝突のために実際には間違っているかもしれませんが、) 、 それは不可能だ。

+1

質問をもう一度読む必要があります:特に:*「元のパスワードにいくつの文字が含まれているか調べるには、とにかくありますか?」* –

+1

答えはまだ正しいです。私はそれを読んだ。 – Eamonn

+0

このタイプの質問は何度も前に尋ねられています。誰かがすぐに複製を投稿します。そして、あなたが気づいたDVDは私のものではありません。 –

0

答えは既に与えられており、アップ投票する価値はありますが、問題について別の見解を伝えたいと思います。

文字の長さはわかりますか?

実際には、元のパスワードの文字数をMD5ハッシュから判断する方法はありません。

パスワードが8文字未満であることはありますか?

残念ながらはい。クラッカーツールは約20 Giga Md5 per secondでブルートフォースできるので、3文字で7文字のパスワードの組み合わせ(a-z A-Z 0-9)をすべてテストすることが可能です!

ではありません。これは違法であるため、このようなハッシュがどれほど安全でないかを示すことです。代わりに、格納されたMD5ハッシュから2番目のハッシュを計算することができます。これは別のanswerで説明しました。

関連する問題