有人知道是否可以配置ASP.NET成员身份验证API以使用SHA-256或SHA-512吗?我真的不想写自己的代码,我们的雇主有一个加密策略,不允许MD5或SHA-1。我能从Microsoft找到的只有HashAlgorythmType枚举,但这只包含MD5和SHA1。
谢谢,
Keeno
有人知道是否可以配置ASP.NET成员身份验证API以使用SHA-256或SHA-512吗?我真的不想写自己的代码,我们的雇主有一个加密策略,不允许MD5或SHA-1。我能从Microsoft找到的只有HashAlgorythmType枚举,但这只包含MD5和SHA1。
谢谢,
Keeno
看起来确实是可能的(假设您使用SqlMembershipProvider)。它支持SHA1,MD5,SHA256,SHA384和SHA512。
SqlMembershipProvider使用此代码来实例化哈希算法:
// MembershipPasswordFormat.Hashed
HashAlgorithm s = HashAlgorithm.Create( Membership.HashAlgorithmType );
bRet = s.ComputeHash(bAll);
Membership.HashAlgorithmType(类型为字符串)是Web.config中membership元素的hashAlgorithmType属性。
有关所有可能值的完整列表,请参见: http://msdn.microsoft.com/en-us/library/wet69s13(v=vs.100).aspx
.../membership/providers/add
元素的passwordFormat
属性确定的,该元素定义了提供程序的设置。MembershipPasswordFormat
枚举给出,它对使用的哈希算法没有控制。