【解決方法】ハッシュをテキストに戻す


パスワードをハッシュとして設定し、varchar としてデータベースに保存しました
しかし、私はそれを取得して元のテキストに戻したい
どうすればいいのですか

これをハッシュに変換する方法は次のとおりです。

私が試したこと:

protected string MD5Hash(string input)
{
    StringBuilder stringBuilder = new StringBuilder();
    MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
    byte[] bytes = md5.ComputeHash(new UTF8Encoding().GetBytes(input));
    for (int i = 0; i < bytes.Length; i++)
    {
        stringBuilder.Append(bytes[i].ToString("x2"));
    }
    return stringBuilder.ToString();

}

解決策 1

定義上、ハッシュを元に戻すことはできません。

できることは、新しい文字列をハッシュし、2 つのハッシュを比較することです。 それらが一致する場合、新しい文字列は、ハッシュされる前の古い文字列です。

解決策 2

見積もり:

パスワードをハッシュとして設定し、varchar としてデータベースに保存しました
しかし、私はそれを取得して元のテキストに戻したい
どうすればいいのですか

簡単な答え: できません!
MD5 ハッシュは、他のハッシュと同様に一方向のプロセスです。 元に戻すことはできません。これは仕様です。
復号化できる暗号化とは異なります。

解決策 3

ハッシュから元のデータを取得することはできません。 それは設計によるものです。 復号化する必要がある場合は、ハッシュの代わりに暗号化方式を使用する必要があります。

解決策 4


64F6199C49B2788F171D3CAF4E8CE415

コメント

タイトルとURLをコピーしました