web-dev-qa-db-ja.com

htpasswdで作成されたパスワードを解読する

UbuntuでApache2を使用してWebページの保護を作成しました。今、私はC++でアプリケーションを作成しており、Apache2が認証に使用するのと同じファイルを使用したいのですが、私の問題はApache2によって生成されたパスワードを解読する方法がわからないことです。 (暗号化に使用されるキーが必要な場合があります)。

ありがとうございました。

25
Mils

.htpasswdエントリは [〜#〜] hashes [〜#〜] です。暗号化されたパスワードではありません。ハッシュは復号化できないように設計されています。したがって、.htpasswdファイルからパスワードを取得する方法はありません(長い間ブルートフォースを使用している場合を除く)。

必要なのは、提供されたパスワードに同じハッシュアルゴリズムを適用し、それを.htpasswdファイル内のハッシュと比較することです。ユーザーとハッシュが同じである場合、あなたは行っています。

43

特に参照してください Apache HTTPd Password Formats

6
David Tonhofer