- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想在 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/
我有一个通过 htpassword 调用运行用户名和密码的脚本: /usr/local/apache2/bin/htpasswd -b $file $user $pass 并将它们添加到文件中。 b
我有一个通过 htpassword 调用运行用户名和密码的脚本: /usr/local/apache2/bin/htpasswd -b $file $user $pass 并将它们添加到文件中。 b
我正在记录在我的开发服务器上完全重新部署的过程。小型员工,使用基本身份验证(当然是通过 SSL)和 htpasswd 文件后端。 按原样传输 .htpasswd 文件是否安全? 操作系统可能会有所不同
我有一个 protected 目录,只有.htpasswd上的用户可以访问,但是有时它要求用户更改密码或用户名,将特定的用户名密码编辑为其自己的用户名 sample users kevien : kk
我有一个特定于语言的子域,它指向与我的站点的根目录相同的目录。我使用 PHP 来检测它并显示语言。 我只想在这个子域上设置一个 htpasswd。请记住,没有特定于该子域的物理目录。因此,该语句将与我
假设站点较小(页面数少于5个),.htaccess和.htpassword的正确用法是什么?我最近观看了a tutorial from Nettuts+给出此示例代码的地方: .htaccess Au
我想知道为什么即使对于相同的用户名和密码,htpasswd每次也会输出一个新的哈希值?我试图找到该问题的答案,但没有。 最佳答案 “ htpasswd”生成的密码使用随机盐,以使其更难猜测。这也意味着
我将我的网站推送到多个服务器,其中我有不同的用户名。我想要一个 .htaccess 文件,无论我在哪个服务器上,它都可以通过密码保护文件。 问题是 AuthUserFile只采用绝对路径,所以如果我有
我的问题很简单。 如何允许用户更改存储在 linux 中某些 htpasswd 文件中的密码而不泄露文件内容或允许用户修改其他密码? 我试图编写一个脚本来使用 ssh 和专门设计的用户来完成这项工作,
我正在尝试从命令行自动创建密码。我已经尝试了以下方法,但它仍然不断要求输入密码。 echo "test101" | htpasswd -c ~/temp/password admin 如何在不输入密码
是否有一种编程方式来构建 htpasswd 文件,而不依赖于操作系统特定的函数(即 exec()、passthru()) ? 最佳答案 .httpasswd 文件只是具有特定格式的文本文件,具体格式取
我想通过 .htpasswd 保护网络文件夹。 但是,由于 .htaccess 文件受版本控制,我不想弄乱它。 相反,我希望配置在 /etc/apache2/sites-enabled/mysite
是否可以密码保护虚拟目录(例如 wordpress 类别): /c/sofas/ 它看起来像 可以在 httpd_config 中工作,但不能在 .htaccess 中使用 是否可以?可能在某处使用
我有一个带有 htaccess 和 htpasswd 的密码保护目录。 我的 .htpasswd文件看起来像这样 user1:passwordstring user2:passwordstring u
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我通过 htaccess 和 htpasswd 保护了几个页面。到目前为止网站运行良好,但最近几天,我们遇到了一些问题,我不排除这部分代码。 我的 htaccess: AuthName "Name
是否可以向 .hpasswd 文件中的密码添加盐?我假设不是,因为服务器需要为每个用户提供盐来验证密码,我想不出它是如何获取它们的,但否则如果要获取列表,它就会很容易受到攻击。有解决办法吗? 非常感谢
我需要使用用户名/密码对网站进行密码保护,但需要保持“/assets”文件夹可访问,因为图像/css 等文件被嵌入到其他网站上。 我有这个保护: Order Allow,Deny AuthType B
我有一个带有 htaccess 和 htpasswd 的受密码保护的目录。 htaccess 看起来像这样 AuthUserFile /usr/local/you/safedir/.htpasswd
我正在使用 .htpasswd 来密码保护我的服务器上的某些目录。但是,我注意到每次执行此操作 sudo htpasswd -c/etc/apache2/.htpasswd newuser 时,我当前
我是一名优秀的程序员,十分优秀!