first commit
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
// ═══════════════════════════════════════════════════════
|
||||
// HMAC Generator
|
||||
// ═══════════════════════════════════════════════════════
|
||||
async function generateHmac() {
|
||||
const message = document.getElementById('hmacMessage').value;
|
||||
const secret = document.getElementById('hmacSecret').value;
|
||||
const algorithm = document.getElementById('hmacAlgo').value;
|
||||
if (!message) return setStatus('hmacStatus', 'error', 'Enter a message.');
|
||||
if (!secret) return setStatus('hmacStatus', 'error', 'Enter a secret key.');
|
||||
const d = await apiPost('/api/hmac', { message, secret, algorithm });
|
||||
if (d.success) {
|
||||
document.getElementById('hmacResults').innerHTML = `
|
||||
<div class="result-row">
|
||||
<div class="label">${d.algorithm.toUpperCase()} HMAC</div>
|
||||
<div class="value" onclick="copyText(this.textContent)" title="Click to copy">${d.hmac}</div>
|
||||
</div>`;
|
||||
setStatus('hmacStatus', 'success', 'Generated ✓');
|
||||
} else setStatus('hmacStatus', 'error', d.error);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user