Passwords 从ASP.NET成员资格提供程序获取哈希密码

Passwords 从ASP.NET成员资格提供程序获取哈希密码,passwords,asp.net-membership,membership-provider,Passwords,Asp.net Membership,Membership Provider,在MembershipProvider(或MembershipInstance)上是否有任何方法可用于获取哈希密码本身?我没有尝试进行恢复,我没有尝试查找实际密码,我只需要哈希字符串 另外,当我在做的时候,我能得到用于创建该散列的确切算法名称(如SHA1或MD5)吗 不,我找不到任何返回HashedPassword的方法。即使你得到HashedPassword,你仍然需要盐 默认哈希算法是SaltedBase64SHA1 public string EncodePassword(string p

在MembershipProvider(或MembershipInstance)上是否有任何方法可用于获取哈希密码本身?我没有尝试进行恢复,我没有尝试查找实际密码,我只需要哈希字符串


另外,当我在做的时候,我能得到用于创建该散列的确切算法名称(如SHA1或MD5)吗

不,我找不到任何返回HashedPassword的方法。即使你得到HashedPassword,你仍然需要盐

默认哈希算法是SaltedBase64
SHA1

public string EncodePassword(string pass, string saltBase64) 
{ 
   byte[] bytes = Encoding.Unicode.GetBytes(pass); 
   byte[] src = Convert.FromBase64String(saltBase64); 
   byte[] dst = new byte[src.Length + bytes.Length]; 
   Buffer.BlockCopy(src, 0, dst, 0, src.Length); 
   Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length); 
   HashAlgorithm algorithm = HashAlgorithm.Create("SHA1"); 
   byte[] inArray = algorithm.ComputeHash(dst); 
   return Convert.ToBase64String(inArray); 
}