Asp.net mvc Asp.net Identity使用什么算法加密密码?

Asp.net mvc Asp.net Identity使用什么算法加密密码?,asp.net-mvc,algorithm,encryption,asp.net-identity-2,Asp.net Mvc,Algorithm,Encryption,Asp.net Identity 2,Asp.Net Identityframework使用哪种算法加密密码?我有一个场景,android、iPhone、web和桌面使用相同的数据库。 此密码应该加密,因此在ASP.NET MVC中,我使用了Identity framework来加密密码。现在我需要的算法适用于所有平台 任何帮助都将不胜感激 提前谢谢 ASP.NET标识使用由实现的(PBKDF2)。这是一种散列算法 请注意 这取决于所选的兼容模式 有关实施的详细信息,请参见 目前,他们支持: 版本2 带HMAC-SHA1的PBKD

Asp.Net Identity
framework使用哪种算法加密密码?我有一个场景,android、iPhone、web和桌面使用相同的数据库。 此密码应该加密,因此在
ASP.NET MVC
中,我使用了Identity framework来加密密码。现在我需要的算法适用于所有平台

任何帮助都将不胜感激

提前谢谢

ASP.NET标识使用由实现的(PBKDF2)。这是一种散列算法

请注意


这取决于所选的兼容模式

有关实施的详细信息,请参见

目前,他们支持:

版本2

  • 带HMAC-SHA1的PBKDF2,128位salt,256位子密钥,1000次迭代
  • 格式:{0x00,salt,子键}
版本3

  • 带HMAC-SHA256、128位salt、256位子密钥的PBKDF2, 10000次迭代
  • 格式:{0x01,prf(UInt32),iter计数(UInt32),salt长度(UInt32),salt,subkey}(所有UInt32都以大端存储。)

MD5用于散列,SHA1用于加密。这个问题太广泛了,ASP.NET作为一个框架包含了许多加密算法的实现,但是特定密码的使用,KDF的mac是在特定产品的级别上定义的。@OlegEstekhin FYIP For SHA1 encryption.@Arijitmukerjee此链接既与问题无关,也指向一些不简单的“SHA1”,绝对不是加密算法的内容。@OlegEstekhin虽然对ASP.NET来说可能太宽,问题是关于加密技术的。加密技术确实是SHA1。请查看您提供的msdn参考。据我所知,SHA1的使用只是过程的一部分,这是使用基于HMACSHA1的伪随机数生成器。是的,OP要求使用哪种加密技术,而不是可能使用盐等的哈希。知道所使用的散列算法是SHA1对任何人都不会有很大帮助。您需要知道密码是如何散列的。SHA1只是
Rfc2898DeriveBytes
的一个实现细节。此外,SHA1是一种哈希算法,而不是加密技术。
public static string HashPassword(string password)
{
    byte[] salt;
    byte[] bytes;
    if (password == null)
    {
        throw new ArgumentNullException("password");
    }
    using (Rfc2898DeriveBytes rfc2898DeriveByte = new Rfc2898DeriveBytes(password, 16, 1000))
    {
        salt = rfc2898DeriveByte.Salt;
        bytes = rfc2898DeriveByte.GetBytes(32);
    }
    byte[] numArray = new byte[49];
    Buffer.BlockCopy(salt, 0, numArray, 1, 16);
    Buffer.BlockCopy(bytes, 0, numArray, 17, 32);
    return Convert.ToBase64String(numArray);
}