1
MembershipProvider(或Membership實例)上是否有任何方法可用於獲取哈希密碼本身?我沒有嘗試恢復,我沒有試圖找到實際的密碼,我只需要散列的字符串。從ASP.NET Membership Provider獲取散列密碼
此外,雖然我在它,我可以得到確切的算法的名稱(如SHA1或MD5)用於創建該哈希?
MembershipProvider(或Membership實例)上是否有任何方法可用於獲取哈希密碼本身?我沒有嘗試恢復,我沒有試圖找到實際的密碼,我只需要散列的字符串。從ASP.NET Membership Provider獲取散列密碼
此外,雖然我在它,我可以得到確切的算法的名稱(如SHA1或MD5)用於創建該哈希?
不,我找不到任何方法返回HashedPassword。即使你得到了HashedPassword,你仍然需要鹽。
默認哈希算法是鹽基base64 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);
}