const crypto = require('crypto'); /** * Generate a random base32-encoded secret for authentication. * @param {number} length - The length of the generated secret. * @returns {string} - The base32-encoded secret. */ function generateRandomSecret(length = 32) { const bytes = crypto.randomBytes(length); const base32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'; // RFC 4648 Base32 alphabet let secret = ''; for (let i = 0; i < bytes.length; i++) { secret += base32Chars[bytes[i] % 32]; } return secret; } const secret = generateRandomSecret(); console.log('Generated secret:', secret); console.log(crypto.randomBytes(32).toString('hex'))