HTPASSWD
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
htpasswd Preview.
At a glance
| Purpose | An Apache htpasswd or htdigest file: user names with password hashes. |
| Extensions | .htpasswd |
| Poka parser | poka-htpasswd |
| Viewer | poka-metadata-card-viewer |
| Depth tier | Metadata card (see Depth tiers) |
| Breadth tier | B2 Broad (see Breadth tiers) |
How much Poka reads
B2 Broad. The common content of the current and the common older versions is decoded. Some named features or versions are not, and are listed.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-htpasswd/src/main.rs (156 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has no .htpasswd and .htdigest sample. Covers .htpasswd and .htdigest. The card lists every user with the hash algorithm read from its prefix (MD5 apr1, bcrypt, SHA-256 and SHA-512 crypt, SHA-1, plain, DES); hashes are redacted. Judgement: B2: every user is listed; hashes are hidden by design.
What Poka does not read
- Hashes are redacted (by design)
- htdigest realms are not shown separately (judgement from the code)
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- htauth (candidate; Apache-2.0 OR MIT; Rust; https://github.com/mexus/htauth) — Reads, verifies and edits htpasswd files (bcrypt, SHA, APR1-MD5); version 0.1.2, created Jan 2026.
- foomo/htpasswd (candidate; MIT; Go; https://pkg.go.dev/github.com/foomo/htpasswd) — ParseHtpasswdFile reads a file into a user-to-hash map; untagged snapshot dated Jan 2020.
- passlib (passlib.apache.HtpasswdFile) (candidate; licence unconfirmed; Python; https://passlib.readthedocs.io/en/stable/lib/passlib.apache.html) — Loads and edits htpasswd files; docs page gives no licence terms.
Sources
- parsers/poka-htpasswd/src/main.rs
- parsers/poka-htpasswd/plugin.json