1

簡単なコードがいくつかありますが、ハッシュ コードからプレーン テキストを取得する必要があります。

    private string Hash(string ToHash)
    {
        // First we need to convert the string into bytes,
        // which means using a text encoder.
        Encoder enc = System.Text.Encoding.ASCII.GetEncoder();

        // Create a buffer large enough to hold the string
        byte[] data = new byte[ToHash.Length];
        enc.GetBytes(ToHash.ToCharArray(), 0, ToHash.Length, data, 0, true);

        // This is one implementation of the abstract class MD5.
        MD5 md5 = new MD5CryptoServiceProvider();
        byte[] result = md5.ComputeHash(data);
        return BitConverter.ToString(result);
    }
4

3 に答える 3

1

誰かが入力したパスワードを、保存されているパスワードのハッシュと比較しようとしていますか? その場合、保存されたパスワードをハッシュ解除しようとする代わりに、入力したパスワードをハッシュし、2 つのハッシュを比較して一致するかどうかを確認するだけで済みます。

于 2012-08-26T06:10:33.457 に答える
1

私の知る限り、ハッシュを解除することはできません。これは単にハッシュの考え方に反します。「暗号化」について考えていませんか? 対称鍵または非対称鍵と同様に?

于 2012-08-26T04:35:21.723 に答える
0

ハッシュを逆にすることはできません。これは定義上、一方向関数です。レインボー テーブルまたはブルート フォース推測を使用して、md5 ハッシュの平文が何であるかを推測できる場合がありますが、それは高価であり、実際に探しているものではありません。

于 2012-08-26T04:38:57.923 に答える