example-sveltekit-email-pas.../src/lib/server/utils.ts
pilcrowOnPaper 25cc397095 init
2024-10-03 18:50:34 +09:00

15 lines
493 B
TypeScript

import { encodeBase32UpperCaseNoPadding } from "@oslojs/encoding";
export function generateRandomOTP(): string {
const bytes = new Uint8Array(5);
crypto.getRandomValues(bytes);
const code = encodeBase32UpperCaseNoPadding(bytes);
return code;
}
export function generateRandomRecoveryCode(): string {
const recoveryCodeBytes = new Uint8Array(10);
crypto.getRandomValues(recoveryCodeBytes);
const recoveryCode = encodeBase32UpperCaseNoPadding(recoveryCodeBytes);
return recoveryCode;
}