phpやc#がmd5ハッシングをどのように含んでいたのか知りたいのですが、アルゴリズムを知らなくてもphpやc#にmd5ハッシングシステムがどのように含まれているのか、そしてアルゴリズムを安全に保つためにはどうすればいいのでしょうか? C#またはPHPはmd5アルゴリズムを知っていますか?md5はどのようにphp、c#、その他のアプリケーションに組み込まれていますか?
答えて
まず、言語ビルドに含まれるソースコードライブラリまでです。第二に
- MD5は一方向アルゴリズムであり、それが安全である必要はありません、何の「キー」の
はい、MD5アルゴリズムがパブリックありません - http://en.wikipedia.org/wiki/MD5
誰でも独立でそれを実装することができますどんな言語でも。
md5をパスワードハッシュとして使用していると仮定して、安全とはどういう意味が分かりませんが、md5は安全ではありません。それが計画しているものなら、How To Safely Store A Passwordを読んでください。
ハッシュ(または暗号化)アルゴリズムを秘密にしておく必要がある場合は、実際にはそれほど効果的ではありません。
MD5アルゴリズムは誰でも利用できます。
暗号アルゴリズムの素晴らしい点は、どのように動作するのかわかっていても簡単に解読できないことです。そのため、ほとんどの暗号化アルゴリズムは公開されており、少なくともc#とphpによって配布されています。しかし、md5はもはや本当に安全ではありません。あなたはAESを使うべきです。
MD5は暗号化アルゴリズムではありません。 AESはです。彼らはお互いに代わるものではありません。 –
誰もがすでにこれを言っていますが、私はこの1つのことを追加します... MD5は事を「あいまいにする」ためのものではなく、実際にはデータを「正規化」する方法です。あなたが何を始めても、元の文字列を表す32文字で終わります。元の文字列が期待どおりであることを確認する素晴らしい方法です。そのため、ファイルの元の内容が何であっても、32文字の文字列で表現できるため、ファイルの比較によく使用されます。だから、あなたの質問に対する答えは本当に、すべてのこれらの異なる言語で同じアルゴリズムであることを確認するだけで、あなたのソース文字列をMD5の相手にどこで変換しても同じ結果を期待できるということです。
md5は安全ではありません。 –
@John - 有用なハッシュアルゴリズムおよび/または暗号化アルゴリズムは、公の知識です。ハッシュ/暗号化アルゴリズムを使用するのは馬鹿馬鹿しいでしょう。これは、アルゴリズムが著者以外の他の人々によってレビューされていなければならないことを意味する。 –