⚙️ 🤖 bcrypt-Hash-Modus (-H): caddy hash-password Nachbau via mkpasswd #1

Closed
opened 2026-07-12 13:32:11 +02:00 by holm · 1 comment
Owner
Dimension Bewertung Einschätzung
Aufwand ███░░░░░░░ Niedrig — ein neuer Modus, mkpasswd als einziges Backend
Nutzen ████████░░ Hoch — Caddy-basicauth-Hashes ohne Podman-Umweg
Bruchhäufigkeit ██░░░░░░░░ Niedrig — mkpasswd/libxcrypt stabil
Nachhaltigkeit ████████░░ Hoch — ersetzt fehleranfälliges Container-Onliner-Gefrickel
Dringlichkeit █████░░░░░ Mittel — aktiver Use-Case (Caddy basicauth)

Ziel

caddy hash-password nachbauen: bcrypt-Hash (cost 14, Caddy-Default) direkt aus pwgenz6c.

Design (mit Holm abgestimmt)

  • Backend: nur mkpasswd (whois-Paket) — keine Kaskade. Admin-Tool, Admins haben das drauf oder greifbar. Probe muss verifizieren, dass Output mit $2 beginnt (Busybox-mkpasswd kann kein bcrypt). Fehlt es → Fehlermeldung mit Install-Hint + Podman-Einzeiler.
  • -H — Hash-Modus: generiert Passwort und gibt Klartext + bcrypt-Hash aus (kombinierbar mit -d, -l, -c, -n, -p)
  • stdin-Pipe (printf '%s' "$PW" | pwgenz6c -H) — Bestands-Passwort hashen, nur Hash ausgeben
  • -i — Passwort interaktiv abfragen (silent, 2x mit Bestätigung), nur Hash ausgeben
  • -R N — bcrypt cost (default 14 = Caddy-Default)
  • -e — Caddyfile-Escaping $$$

$2b$ (mkpasswd) ist mit Caddys bcrypt-Verify kompatibel.

🤖 angelegt von Claude v00 (API/Token holm)

| Dimension | Bewertung | Einschätzung | |---|---|---| | Aufwand | `███░░░░░░░` | Niedrig — ein neuer Modus, mkpasswd als einziges Backend | | Nutzen | `████████░░` | Hoch — Caddy-basicauth-Hashes ohne Podman-Umweg | | Bruchhäufigkeit | `██░░░░░░░░` | Niedrig — mkpasswd/libxcrypt stabil | | Nachhaltigkeit | `████████░░` | Hoch — ersetzt fehleranfälliges Container-Onliner-Gefrickel | | Dringlichkeit | `█████░░░░░` | Mittel — aktiver Use-Case (Caddy basicauth) | ## Ziel `caddy hash-password` nachbauen: bcrypt-Hash (cost 14, Caddy-Default) direkt aus pwgenz6c. ## Design (mit Holm abgestimmt) - **Backend: nur `mkpasswd`** (whois-Paket) — keine Kaskade. Admin-Tool, Admins haben das drauf oder greifbar. Probe muss verifizieren, dass Output mit `$2` beginnt (Busybox-mkpasswd kann kein bcrypt). Fehlt es → Fehlermeldung mit Install-Hint + Podman-Einzeiler. - `-H` — Hash-Modus: generiert Passwort und gibt Klartext + bcrypt-Hash aus (kombinierbar mit `-d`, `-l`, `-c`, `-n`, `-p`) - stdin-Pipe (`printf '%s' "$PW" | pwgenz6c -H`) — Bestands-Passwort hashen, nur Hash ausgeben - `-i` — Passwort interaktiv abfragen (silent, 2x mit Bestätigung), nur Hash ausgeben - `-R N` — bcrypt cost (default 14 = Caddy-Default) - `-e` — Caddyfile-Escaping `$` → `$$` `$2b$` (mkpasswd) ist mit Caddys bcrypt-Verify kompatibel. > 🤖 angelegt von Claude v00 (API/Token holm)
Author
Owner

Umgesetzt in 5cb3432, gemerged nach dev (b5bf022). Getestet: Generate+Hash, Pipe, File-Redirect, Diceware+Hash, -n 2, Cost-Validierung, Salt-Round-trip-Verify (Hash reproduzierbar) — alles ✓. Einzig -i (TTY-Doppel-Prompt) braucht manuellen Smoke-Test.

🤖 angelegt von Claude v00 (API/Token holm)

Umgesetzt in `5cb3432`, gemerged nach `dev` (b5bf022). Getestet: Generate+Hash, Pipe, File-Redirect, Diceware+Hash, -n 2, Cost-Validierung, Salt-Round-trip-Verify (Hash reproduzierbar) — alles ✓. Einzig `-i` (TTY-Doppel-Prompt) braucht manuellen Smoke-Test. > 🤖 angelegt von Claude v00 (API/Token holm)
holm closed this issue 2026-07-12 13:36:18 +02:00
Sign in to join this conversation.
No description provided.