从哈希值中获取密码的字符串值

时间:2015-07-13 02:00:06

标签: c# asp.net security salt hashalgorithm

我使用下面的代码为密码创建了一个哈希值。我正在存储从以下方法返回的值。

public static string CreateHash(string password)
{
    // Generate a random salt
    RNGCryptoServiceProvider csprng = new RNGCryptoServiceProvider();
    byte[] salt = new byte[24];
    csprng.GetBytes(salt);
    HashAlgorithm hashAlg = new SHA256CryptoServiceProvider();
    byte[] bytValue = System.Text.Encoding.UTF8.GetBytes(salt + ":" + password);
    // Hash the password and encode the parameters
    byte[] bytHash = hashAlg.ComputeHash(bytValue);
    return
        Convert.ToBase64String(bytHash);
}

现在我要解码上面创建的哈希值。 我需要密码的字符串值..我该怎么做..?

1 个答案:

答案 0 :(得分:4)

SHA-256是一种单向散列算法。你不能从哈希中得到原始文本,除了蛮力猜测。