我有一个页面需要加强安全性。我正在使用内置的 MembershipProvider 功能,目前已hashAlgorithmType
设置为 SHA512。我有 BCrypt.NET 库(http://bcrypt.codeplex.com/),当我从代码中调用它的函数时,它似乎工作得很好,但我在弄清楚如何创建适当的<cryptographySettings>
Web.config 中的部分让我创建一个hashAlgorithmType
.
我在网上找到了以下代码片段:
<mscorlib>
<cryptographySettings>
<cryptoNameMapping>
<cryptoClasses>
<cryptoClass MyHash="MyHashClass, MyAssembly
Culture=neutral, PublicKeyToken=a5d015c7d5a0b012,
Version=1.0.0.0"/>
<cryptoClass MyCrypto="MyCryptoClass, MyAssembly
Culture=neutral, PublicKeyToken=a5d015c7d5a0b012,
Version=1.0.0.0"/>
</cryptoClasses>
<nameEntry name="System.Security.Cryptography.HashAlgorithm"
class="MyHash"/>
</cryptoNameMapping>
<oidMap>
<oidEntry OID="1.3.36.3.2.1" name="MyCryptoClass"/>
</oidMap>
</cryptographySettings>
</mscorlib>
如果你愿意,可以称我为菜鸟,但我显然没有必要的知识来做出正面或反面。我所需要的只是一种方法来告诉会员提供者类似的东西<hashAlgorithmType="bcrypt">
对应于类似string hashed = BCrypt.HashPassword(password, BCrypt.GenerateSalt(12));
加密和bool matches = BCrypt.CheckPassword(candidate, hashed);
解密的东西。请告诉我有一个简单的答案。如果必须,我可以从头开始重写登录系统,但我已经有了一个工作实现,我真的很想改变它的哈希算法。