gpt4 book ai didi

c# - 如何在 C# 中解析和使用 htpasswd 文件

转载 作者:太空狗 更新时间:2023-10-30 01:06:33 24 4
gpt4 key购买 nike

我想在 MVC 中将 Apache 的 htpasswd 实用程序与我的自定义 BasicAuthenticationAttribute 结合使用。但是,根据 htpasswd 文档,我不确定如何计算密码哈希以与 htpasswd 文件进行比较。是否有托管 .NET 库或一些简单的文档可以帮助我解决这个问题?

编辑:Heinzi 指出的问题适用于 SHA,但我也希望能够处理 MD5(APR1?)哈希变体。我看过一些代码示例,但它们有点太不透明了,我无法理解。对于 Apache 文档中链接的实际代码文件也是如此。

理想情况下,我希望能够获取任何客户端的 .htpasswd 文件并将其放入我的 ASP.NET 站点以进行身份​​验证,而不受使用哪种哈希方法的限制。

最佳答案

我最近将对 Apache MD5 的支持添加到 CryptSharp .它可以为您计算和验证这些密码。由于它是一个变体,您需要为 Crypter.MD5.Crypt() 方法提供一个额外的参数:

string cryptedPassword = Crypter.MD5.Crypt("HelloWorld", new CrypterOptions
{
{ CrypterOption.Variant, MD5CrypterVariant.Apache }
}));

验证:

bool matches = Crypter.CheckPassword("HelloWorld", cryptedPassword);

您也可以使用 Crypt() 方法本身进行验证,但 CheckPassword() 会自动确定它是否是 Apache MD5、DES 等。

希望对你有帮助

詹姆斯

关于c# - 如何在 C# 中解析和使用 htpasswd 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15153067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com