1

ハッシュ化されたパスワード自体を取得するために使用できる方法は、MembershipProvider (または Membership インスタンス) にありますか? 復元しようとしているわけでも、実際のパスワードを見つけようとしているわけでもありません。ハッシュ化された文字列が必要なだけです。

また、そのハッシュを作成するために使用された正確なアルゴリズムの名前 (SHA1 や MD5 など) を取得できますか?

4

1 に答える 1

0

いいえ、HashedPassword を返すメソッドは見つかりませんでした。HashedPassword を取得しても、まだソルトが必要です。

デフォルトのハッシュ アルゴリズムは、salted base64SHA1です。

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); 
}
于 2012-11-21T19:55:29.653 に答える