UNPKG

nuxt-security

Version:

🛡️ Security Module for Nuxt based on HTTP Headers and Middleware

21 lines (19 loc) 670 B
async function generateHash(content, hashAlgorithm) { let buffer; if (typeof content === "string") { buffer = new TextEncoder().encode(content); } else { buffer = new Uint8Array(content); } const hashBuffer = await crypto.subtle.digest(hashAlgorithm, buffer); const base64 = btoa(String.fromCharCode(...new Uint8Array(hashBuffer))); const prefix = hashAlgorithm.replace("-", "").toLowerCase(); return `${prefix}-${base64}`; } function generateRandomNonce() { const array = new Uint8Array(18); crypto.getRandomValues(array); const nonce = btoa(String.fromCharCode(...array)); return nonce; } export { generateHash, generateRandomNonce };