Asp.Net Identity框架使用什么样的算法来加密密码?我有一个
Android,iPhone,Web和桌面使用相同数据库的场景.
此密码应加密,因此在ASP.NET MVC中我使用了Identity框架来加密密码.现在我需要算法适用于所有平台.
此密码应加密,因此在ASP.NET MVC中我使用了Identity框架来加密密码.现在我需要算法适用于所有平台.
任何帮助将不胜感激.
提前致谢.
解决方法
ASP.NET身份使用
Password-Based Key Derivation Function 2(PBKDF2),由
Rfc2898DeriveBytes
实现.它是一种散列算法.
请注意07002.
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,numArray,1,16); Buffer.BlockCopy(bytes,17,32); return Convert.ToBase64String(numArray); }