PHPを使用してMD5ハッシュを文字列に復号化するにはどうすればよいですか?PHPでMD5ハッシュを文字列に復号する
答えて
ハッシングは暗号化ではありません。
あなたは衝突することができます。 – RobertPitt
ハッシュを生成して、彼が世界リストのようにしたいものと比較すると、彼はそれをどのようにクラックすることができますか。 – SIFE
彼はできません。彼は潜在的に同じハッシュを生成するデータを見つけることができます。彼は元の文字列を確実に再生成することはできません。 – Erik
ハッシュを復号化する方法はありません。ハッシュ関数は、本来1ウェイ関数です。
ユーザーデータの暗号化を作成する場合は、通常の暗号化/復号化機能を使用する必要があります。
「ハッシュされた」パスワードを解読しようとしている場合は、そのようなことをよく実行してください。
復号化が可能であると仮定する前に実際に何を行うのかを読んでおく必要がありますが、MD5は実際にはフロアされているので、まったく使用しないでください。
MD5ハッシュは、完全に異なる文字列に意味を衝突させることができるため、同じハッシュが生成され、アルゴリズムで悪用されます。
あなたがそうのような何かを行う必要があります 2ウェイ暗号化をしたい場合:
$key = 'password to (en/de)crypt';
$string = 'string to be encrypted';
//Encrypt
base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,md5($key),$string,MCRYPT_MODE_CBC,md5(md5($key))));
//Decrypt
rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
から引用したよう:あなたが解読、あなたが作成することができますを探しているならBest way to use PHP to encrypt and decrypt passwords?
(または取得)rainbow tables - 本質的に、MD5で暗号化し、必要な数のハッシュを作成するパスワードジェネレータを作成します。ハッシュをデータベースに保存します。そこから、あなたのハッシュを検索してください。
- 1. 符復号化文字列
ハッシュ関数は一方向関数です:http://en.wikipedia.org/wiki/Hash_functions –
www.freerainbowtables.comは簡単なパスワードをリバースエンジニアリングしようとしますが、MD5は謎のままにしておかなければなりません。 –