...私は現在、自分のCMSをコード化していると私は、パスワードの状態でだmd5(sha1(password))できますか?
私が知りたいその後、私ができるmd5
パスワードの後sha1
それをもし?
などは:
$password = md5(sha1(mysql_real_escape_string($_POST['passw'])));
...私は現在、自分のCMSをコード化していると私は、パスワードの状態でだmd5(sha1(password))できますか?
私が知りたいその後、私ができるmd5
パスワードの後sha1
それをもし?
などは:
$password = md5(sha1(mysql_real_escape_string($_POST['passw'])));
あなたはmd5
任意のデータは、あなたはそれが前にハッシュされた場合でも、希望することができます。
ただし、小さなデータセットで作業しているため、衝突の危険性が増えます。
達成しようとしていることは何ですか?
私は1000の行なしで自分のパスワードに最高のセキュリティを欲しい! –
@FrederickMarcoux弱いMD5アルゴリズムでSHA1パスワードを実行しても、セキュリティが強化されることはありません。 – mrlee
最高のセキュリティは、ハッシュ関数そのものの強さに由来します。しかし、あなたが非常に簡単に行うことができるのは、一般的に使用されている(すなわち一般的に使用されている)強さを向上させることです[http://highedwebtech.com/2008/04/25/season-your-passwords-with-some-salt/]事前計算された)ハッシュ関数値。 – hackartist
あなたは明らかにすることができます。私はなぜあなたができないのか分かりません。
セキュリティを強化したい場合は、phpassと考えるべきです。
はいできます。 いいえ、意味がありません。
連鎖ハッシュ関数のセキュリティは、常に最も弱いアルゴリズムのセキュリティ以下である。
つまり、sha1($ something)よりも安全ではありません:sha1を破壊すると、shat($ something)およびsha1($ something)というmd5が無料で取得されます。 faked_something)は同じ値を持ち、したがってそれらをmd5することで何も変更されません。
あなたはこれを行うことができますが、本当の利点はありません。 md5()
でパスワードを実行している場合は、暗号化された塩を追加することにより、さらにセキュリティが強化されます。
What is SALT and how do I use it?にはそれ以上の情報があります。
多くのアドバイスがありましたら、MD5
を使用しないでください。 SHA1
は比較的強力で、データベースのパスワードフィールドを変更して40文字の文字列を受け入れる必要があります。
塩を追加することを忘れないでください。そうすれば、顧客/ユーザーのパスワードに対して虹のテーブルを使用するのがずっと難しくなります。
のような何か:
$ hashedPassword = SHA1(。。。MD5($パスワード)$塩SHA1($塩$パスワード));
ここで、saltは、アプリケーション全体にわたって定数であるか、ユーザーごとに格納されている連絡先ごとの定数であっても、素晴らしい長いランダムな文字列そのものになります。
任意のバイト列のsha1のmd5を計算できます。なぜ聞くのですか? –
CMSをクラッシュさせたくないから頼んでいる!だからできますか? –
パスワードをエスケープしないでください。md5、sha1などの英数字ハッシュでハッシュされていると、有害な文字を含むことはできず、ユーザーが期待するパスワードが変更される可能性があります。 –