我可以在C#中解密密码吗?

时间:2017-09-24 10:15:27

标签: c# sql-server encryption passwords

我有一个SQL Server数据库和一个ASP.NET MVC项目。我改变了项目中的注册模型。在此之后我的用户可以注册,但不能登录。我看到密码加密错误。我怎么解密密码?

public static string CreateHash(string password)
{
    // Generate a random salt
    var csprng = new RNGCryptoServiceProvider();
    var salt = new byte[SaltByteSize];
    csprng.GetBytes(salt);
    var hash = Pbkdf2(password, salt, Pbkdf2Iterations, HashByteSize);
    return Convert.ToBase64String(Convert.ToBase64String(hash);
}

private static byte[] Pbkdf2(string password, byte[] salt, int iterations, int outputBytes)
{
    var pbkdf2 = new Rfc2898DeriveBytes(password, salt) { IterationCount = iterations };
    return pbkdf2.GetBytes(outputBytes);
}

0 个答案:

没有答案
相关问题