{"id":21,"date":"2026-03-19T14:38:39","date_gmt":"2026-03-19T14:38:39","guid":{"rendered":"https:\/\/netguide.io\/tools\/?p=21"},"modified":"2026-03-19T14:38:39","modified_gmt":"2026-03-19T14:38:39","slug":"hmac-generator","status":"publish","type":"post","link":"https:\/\/netguide.io\/tools\/de\/hmac-generator\/","title":{"rendered":"HMAC Generator"},"content":{"rendered":"\n<div class=\"wp-hmac-container\">\n    <h3 class=\"wp-hmac-title\">HMAC Generator<\/h3>\n\n    <div class=\"wp-hmac-group\">\n        <label>Message (Input Data)<\/label>\n        <textarea id=\"wp-hmac-input\" placeholder=\"Enter the message to hash...\" oninput=\"generateHMAC()\"><\/textarea>\n    <\/div>\n\n    <div class=\"wp-hmac-grid\">\n        <div class=\"wp-hmac-group\">\n            <label>Secret Key<\/label>\n            <input type=\"text\" id=\"wp-hmac-key\" placeholder=\"Your secret key...\" oninput=\"generateHMAC()\">\n        <\/div>\n        <div class=\"wp-hmac-group\">\n            <label>Algorithm<\/label>\n            <select id=\"wp-hmac-algo\" onchange=\"generateHMAC()\">\n                <option value=\"SHA-256\">SHA-256<\/option>\n                <option value=\"SHA-512\">SHA-512<\/option>\n                <option value=\"SHA-384\">SHA-384<\/option>\n                <option value=\"SHA-1\">SHA-1 (Legacy)<\/option>\n            <\/select>\n        <\/div>\n    <\/div>\n\n    <div class=\"wp-hmac-group\">\n        <label>HMAC Result (Hex)<\/label>\n        <textarea id=\"wp-hmac-output\" readonly placeholder=\"Result will appear here...\"><\/textarea>\n    <\/div>\n\n    <div class=\"wp-hmac-footer\">\n        <button onclick=\"copyHMAC()\" id=\"btn-copy-hmac\">Copy HMAC<\/button>\n        <button onclick=\"clearHMAC()\" class=\"btn-danger\">Clear<\/button>\n    <\/div>\n\n    <style>\n        .wp-hmac-container { max-width: 100%; background: #fff; padding: 20px; border: 1px solid #ddd; border-radius: 10px; font-family: -apple-system, sans-serif; color: #333; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }\n        .wp-hmac-title { margin: 0 0 15px 0; color: #2271b1; font-size: 1.4rem; border-bottom: 1px solid #eee; padding-bottom: 10px; }\n        .wp-hmac-group { margin-bottom: 15px; }\n        .wp-hmac-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 15px; }\n        .wp-hmac-group label { display: block; font-size: 11px; font-weight: bold; margin-bottom: 5px; text-transform: uppercase; color: #666; }\n        .wp-hmac-group textarea, .wp-hmac-group input, .wp-hmac-group select { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 5px; font-family: monospace; font-size: 13px; box-sizing: border-box; }\n        .wp-hmac-group textarea { height: 80px; resize: vertical; }\n        \n        .wp-hmac-container button { padding: 10px; border: none; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 13px; transition: 0.2s; }\n        .btn-danger { background: #f9f9f9; color: #d63638; border: 1px solid #d63638 !important; }\n        #btn-copy-hmac { background: #46b450; color: #fff; flex-grow: 2; }\n        \n        .wp-hmac-footer { display: flex; gap: 10px; }\n        #wp-hmac-output { background: #f9f9f9; border-color: #eee; height: 60px; word-break: break-all; }\n    <\/style>\n\n    <script>\n        async function generateHMAC() {\n            const message = document.getElementById('wp-hmac-input').value;\n            const key = document.getElementById('wp-hmac-key').value;\n            const algo = document.getElementById('wp-hmac-algo').value;\n            const output = document.getElementById('wp-hmac-output');\n\n            if (!message || !key) {\n                output.value = \"\";\n                return;\n            }\n\n            try {\n                const enc = new TextEncoder();\n                const keyData = enc.encode(key);\n                const msgData = enc.encode(message);\n\n                const cryptoKey = await crypto.subtle.importKey(\n                    \"raw\", keyData, \n                    { name: \"HMAC\", hash: { name: algo } },\n                    false, [\"sign\"]\n                );\n\n                const signature = await crypto.subtle.sign(\"HMAC\", cryptoKey, msgData);\n                \n                \/\/ Convert to Hex\n                const hashArray = Array.from(new Uint8Array(signature));\n                const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');\n                \n                output.value = hashHex;\n            } catch (e) {\n                output.value = \"Error generating HMAC\";\n            }\n        }\n\n        function copyHMAC() {\n            const out = document.getElementById('wp-hmac-output');\n            if (!out.value) return;\n            navigator.clipboard.writeText(out.value).then(() => {\n                const btn = document.getElementById('btn-copy-hmac');\n                const old = btn.innerText;\n                btn.innerText = 'Copied!';\n                setTimeout(() => btn.innerText = old, 2000);\n            });\n        }\n\n        function clearHMAC() {\n            document.getElementById('wp-hmac-input').value = '';\n            document.getElementById('wp-hmac-key').value = '';\n            document.getElementById('wp-hmac-output').value = '';\n        }\n    <\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Erl\u00e4uterung &amp; Tipps (Deutsch)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Was ist ein HMAC?<\/h3>\n\n\n\n<p>Ein HMAC kombiniert eine kryptografische Hash-Funktion (wie SHA-256) mit einem geheimen Schl\u00fcssel. Die mathematische Formel lautet:<\/p>\n\n\n\n<div class=\"wp-block-math\"><math display=\"block\"><semantics><mrow><mi>H<\/mi><mi>M<\/mi><mi>A<\/mi><mi>C<\/mi><mo form=\"prefix\" stretchy=\"false\">(<\/mo><mi>K<\/mi><mo separator=\"true\">,<\/mo><mi>m<\/mi><mo form=\"postfix\" stretchy=\"false\">)<\/mo><mo>=<\/mo><mi>H<\/mi><mo form=\"prefix\" stretchy=\"false\">(<\/mo><mo form=\"prefix\" stretchy=\"false\">(<\/mo><msup><mi>K<\/mi><mo lspace=\"0em\" rspace=\"0em\" class=\"tml-prime\">\u2032<\/mo><\/msup><mo>\u2295\ufe0e<\/mo><mi>o<\/mi><mi>p<\/mi><mi>a<\/mi><mi>d<\/mi><mo form=\"postfix\" stretchy=\"false\">)<\/mo><mi>\u2016<\/mi><mi>H<\/mi><mo form=\"prefix\" stretchy=\"false\">(<\/mo><mo form=\"prefix\" stretchy=\"false\">(<\/mo><msup><mi>K<\/mi><mo lspace=\"0em\" rspace=\"0em\" class=\"tml-prime\">\u2032<\/mo><\/msup><mo>\u2295\ufe0e<\/mo><mi>i<\/mi><mi>p<\/mi><mi>a<\/mi><mi>d<\/mi><mo form=\"postfix\" stretchy=\"false\">)<\/mo><mi>\u2016<\/mi><mi>m<\/mi><mo form=\"postfix\" stretchy=\"false\">)<\/mo><mo form=\"postfix\" stretchy=\"false\">)<\/mo><\/mrow><annotation encoding=\"application\/x-tex\">HMAC(K, m) = H((K&#8217; \\oplus opad) \\| H((K&#8217; \\oplus ipad) \\| m))<\/annotation><\/semantics><\/math><\/div>\n\n\n\n<p>Dabei sorgt der Schl\u00fcssel daf\u00fcr, dass nur jemand, der diesen Schl\u00fcssel kennt, den korrekten Hash-Wert erzeugen kann.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wann nutzt man HMAC?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>API-Authentifizierung:<\/strong> Viele Dienste (z. B. AWS oder Webhooks von Stripe\/GitHub) senden einen HMAC im Header mit, damit der Empf\u00e4nger pr\u00fcfen kann, ob die Nachricht echt ist und nicht manipuliert wurde.<\/li>\n\n\n\n<li><strong>Sichere Token:<\/strong> HMAC wird oft verwendet, um zustandslose Sessions (wie JWTs) zu signieren.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Sicherheitshinweise<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Key-L\u00e4nge:<\/strong> Dein geheimer Schl\u00fcssel sollte idealerweise genauso lang sein wie die Ausgabe des gew\u00e4hlten Hash-Algorithmus (z. B. 32 Bytes f\u00fcr SHA-256).<\/li>\n\n\n\n<li><strong>Vertraulichkeit:<\/strong> Gib deinen echten Produktions-Schl\u00fcssel niemals in ein Online-Tool ein, wenn du der Seite nicht zu 100% vertraust. Da dieser Generator lokal in deinem Browser l\u00e4uft, verlassen die Daten deinen Rechner nicht &#8211; das ist deutlich sicherer als Server-basierte Generatoren.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>HMAC Generator Message (Input Data) Secret Key Algorithm SHA-256SHA-512SHA-384SHA-1 (Legacy) HMAC Result (Hex) Copy HMAC Clear Erl\u00e4uterung &amp; Tipps (Deutsch) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","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":[37,35],"class_list":["post-21","post","type-post","status-publish","format-standard","hentry","category-generatoren","tag-generator","tag-hmac"],"_links":{"self":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/21","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=21"}],"version-history":[{"count":1,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/21\/revisions"}],"predecessor-version":[{"id":22,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/21\/revisions\/22"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/media?parent=21"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/categories?post=21"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/tags?post=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}