返回 AiToEarn
api-key.util.ts
根目录 / project / aitoearn-backend / libs / common / src / utils / api-key.util.ts
1 import * as crypto from 'node:crypto'
2
3 export function base64UrlEncode(buffer: Uint8Array): string {
4 return Buffer.from(buffer).toString('base64').replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_')
5 }
6 export function generateApiKey(prefix = 'sk', category = ''): string {
7 const randomBytes = new Uint8Array(32)
8 crypto.getRandomValues(randomBytes)
9 const token = base64UrlEncode(randomBytes)
10 if (category) {
11 return `${prefix}-${category}-${token}`
12 }
13 return `${prefix}-${token}`
14 }
15
15 lines TYPESCRIPT