0

对于自动化网站部署的小工具,我想生成 .htaccess 和 .htpasswd 文件。如何在我的代码中为密码创建哈希?

4

1 回答 1

6

根据此处有关 .htpasswd 散列方法的文档,以下内容应使用 SHA1 作为散列算法生成可插入到 .htpasswd 文件中的合适输出行:

public static string CreateUser(string username, string password)
{
    using (var sha1 = SHA1.Create())
    {
        var hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(password));
        return string.Format("{0}:{{SHA}}{1}", username, Convert.ToBase64String(hash));
    }
}

例子:

Console.WriteLine(CreateUser("TestUser", "TestPassword"));

将输出:

TestUser:{SHA}YlBiWyJt9ihwriOvjT+sB2DXFYg=

使用此方法构造有效的 .htaccess 文件应该很简单。

于 2013-02-04T21:12:50.010 回答