0

Webサイトの展開を自動化する小さなツールとして、.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 に答える