{"id":117,"date":"2026-08-19T23:50:05","date_gmt":"2026-08-19T23:50:05","guid":{"rendered":"https:\/\/netguide.io\/tools\/htpasswd-generator\/"},"modified":"2026-08-19T23:50:05","modified_gmt":"2026-08-19T23:50:05","slug":"htpasswd-generator","status":"publish","type":"post","link":"https:\/\/netguide.io\/tools\/de\/htpasswd-generator\/","title":{"rendered":"htpasswd-Generator"},"content":{"rendered":"<div id=\"netgu-880257675\" class=\"netgu-before-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"3494115342\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<style>\n.wp-ht-container { max-width:100%; background:#fff; padding:20px; border:1px solid #ddd; border-radius:10px; font-family:-apple-system, sans-serif; color:#333; }\n.wp-ht-title { margin:0 0 15px 0; color:#2271b1; font-size:1.4rem; }\n.wp-ht-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:12px; margin-bottom:10px; }\n.wp-ht-input-group label { display:block; font-size:11px; font-weight:bold; margin-bottom:4px; text-transform:uppercase; color:#666; }\n.wp-ht-input-group input, .wp-ht-input-group select { width:100%; padding:8px; border:1px solid #ccc; border-radius:4px; box-sizing:border-box; }\n.wp-ht-checkbox-group { margin:15px 0; font-size:12px; display:flex; align-items:center; gap:8px; color:#666; }\n.wp-ht-note { font-size:12px; color:#666; margin-top:12px; min-height:1em; }\n.wp-ht-warn { color:#d63638; font-weight:bold; }\n.wp-ht-results { margin-top:20px; border-top:2px solid #eee; padding-top:15px; }\n.wp-ht-res-item { display:flex; justify-content:space-between; margin-bottom:6px; font-size:14px; gap:10px; }\n.wp-ht-total { font-weight:bold; font-size:18px; color:#2271b1; margin:10px 0; padding:5px 0; border-top:1px solid #eee; border-bottom:1px solid #eee; }\n.wp-ht-val { color:#2271b1; font-weight:bold; }\n.wp-ht-out { width:100%; box-sizing:border-box; padding:10px; border:1px solid #ccc; border-radius:4px; font-family:monospace; font-size:13px; word-break:break-all; background:#f7f7f7; margin-top:6px; }\n.wp-ht-btn { background:#2271b1; color:#fff; border:none; padding:9px 14px; border-radius:4px; cursor:pointer; font-size:13px; margin-top:10px; }\n<\/style>\n<div class=\"wp-ht-container\">\n  <h3 class=\"wp-ht-title\">htpasswd-Generator<\/h3>\n  <div class=\"wp-ht-grid\">\n    <div class=\"wp-ht-input-group\"><label>Benutzername<\/label><input type=\"text\" id=\"ht-user\" value=\"admin\" oninput=\"genHt()\"><\/div>\n    <div class=\"wp-ht-input-group\"><label>Passwort<\/label><input type=\"text\" id=\"ht-pass\" value=\"\" placeholder=\"Passwort eingeben\u2026\" oninput=\"genHt()\"><\/div>\n    <div class=\"wp-ht-input-group\"><label>Algorithmus<\/label><select id=\"ht-mode\" onchange=\"genHt()\"><option value=\"ssha\">SSHA (empfohlen, gesalzen)<\/option><option value=\"sha\">SHA (ungesalzen)<\/option><\/select><\/div>\n  <\/div>\n  <label class=\"wp-ht-input-group\" style=\"display:block; margin-top:6px;\"><span style=\"display:block; font-size:11px; font-weight:bold; text-transform:uppercase; color:#666; margin-bottom:4px;\">.htpasswd-Zeile<\/span><\/label>\n  <input type=\"text\" id=\"ht-out\" class=\"wp-ht-out\" readonly value=\"\">\n  <button class=\"wp-ht-btn\" onclick=\"copyHt()\">Kopieren<\/button>\n  <div class=\"wp-ht-note\">F\u00fcr bcrypt ($2y$) nutze das CLI: htpasswd -B. SSHA\/SHA funktionieren mit Nginx und Apache. Alles wird lokal im Browser berechnet \u2013 kein Passwort verl\u00e4sst deinen Rechner.<\/div>\n<\/div>\n<script>\nfunction wpHtB64(u8){ var s=''; for(var i=0;i<u8.length;i++){ s+=String.fromCharCode(u8[i]); } return btoa(s); }\nasync function genHt(){\n  var u=document.getElementById('ht-user').value.trim();\n  var p=document.getElementById('ht-pass').value;\n  var mode=document.getElementById('ht-mode').value;\n  var out=document.getElementById('ht-out');\n  if(!u || !p){ out.value=''; return; }\n  var enc=new TextEncoder();\n  if(mode==='sha'){\n    var dig=await crypto.subtle.digest('SHA-1', enc.encode(p));\n    out.value=u+':{SHA}'+wpHtB64(new Uint8Array(dig));\n  } else {\n    var salt=new Uint8Array(4); crypto.getRandomValues(salt);\n    var pb=enc.encode(p);\n    var data=new Uint8Array(pb.length+salt.length); data.set(pb,0); data.set(salt,pb.length);\n    var dig=await crypto.subtle.digest('SHA-1', data);\n    var d=new Uint8Array(dig);\n    var comb=new Uint8Array(d.length+salt.length); comb.set(d,0); comb.set(salt,d.length);\n    out.value=u+':{SSHA}'+wpHtB64(comb);\n  }\n}\nfunction copyHt(){ var o=document.getElementById('ht-out'); if(!o.value)return; o.focus(); o.select(); try{ navigator.clipboard.writeText(o.value); }catch(e){} }\ngenHt();\n<\/script>\n\n\n<div id=\"netgu-2309044051\"><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\"\r\n     crossorigin=\"anonymous\"><\/script>\r\n<!-- NetGuide.io-After-Widget-Tools -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-6258556257245998\"\r\n     data-ad-slot=\"5175852350\"\r\n     data-ad-format=\"auto\"\r\n     data-full-width-responsive=\"true\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">So funktioniert der htpasswd-Generator<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das Tool erzeugt eine fertige <code>.htpasswd<\/code>-Zeile im Format <code>benutzer:hash<\/code> f\u00fcr die HTTP-Basic-Authentifizierung. Die Berechnung l\u00e4uft vollst\u00e4ndig im Browser \u00fcber die Web-Crypto-API \u2013 Benutzername und Passwort werden nicht \u00fcbertragen.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SSHA (empfohlen):<\/strong> Gesalzener SHA-1-Hash. Durch den zuf\u00e4lligen Salt ergibt dasselbe Passwort jedes Mal einen anderen Hash \u2013 deutlich sicherer gegen Rainbow-Tables.<\/li>\n\n\n<li><strong>SHA:<\/strong> Ungesalzener SHA-1-Hash im <code>{SHA}<\/code>-Format. Einfach, aber ohne Salt.<\/li>\n\n\n<li><strong>Kompatibilit\u00e4t:<\/strong> Beide Formate versteht sowohl Nginx (<code>auth_basic<\/code>) als auch Apache.<\/li>\n\n\n<li><strong>bcrypt:<\/strong> F\u00fcr <code>$2y$<\/code>-Hashes (nur Apache) nutze <code>htpasswd -B benutzer<\/code> auf der Kommandozeile.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Einbinden in Nginx: Datei unter <code>\/etc\/nginx\/.htpasswd<\/code> ablegen und im Server-Block <code>auth_basic \"Restricted\";<\/code> sowie <code>auth_basic_user_file \/etc\/nginx\/.htpasswd;<\/code> setzen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Verwandte Tools<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/tools\/de\/passwort-generator\/\">Passwort-Generator<\/a><\/li>\n\n\n<li><a href=\"\/tools\/de\/ssh-key-generator\/\">SSH Key Generator<\/a><\/li>\n<\/ul>\n\n\n<div id=\"netgu-79806677\" class=\"netgu-after-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"4559785002\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>.htpasswd-Zeile f\u00fcr Basic Auth erzeugen (SSHA oder SHA) \u2013 kompatibel mit Nginx und Apache. L\u00e4uft komplett im Browser, kein Server-Roundtrip.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[33],"tags":[],"class_list":["post-117","post","type-post","status-publish","format-standard","hentry","category-generatoren"],"brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/comments?post=117"}],"version-history":[{"count":0,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/117\/revisions"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/media?parent=117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/categories?post=117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/tags?post=117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}