'use strict'; const crypto = require('crypto'); /** Random UUID v4. */ function uuid() { return crypto.randomUUID(); } /** Random opaque token (invites, stream keys). */ function token(bytes = 24) { return crypto.randomBytes(bytes).toString('hex'); } /** Constant-time string comparison. */ function safeEqual(a, b) { const ba = Buffer.from(String(a)); const bb = Buffer.from(String(b)); return ba.length === bb.length && crypto.timingSafeEqual(ba, bb); } module.exports = { uuid, token, safeEqual };