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