the claude code sourcemaps leaked march 31
1import { createHash, randomBytes } from 'crypto'
2
3function base64URLEncode(buffer: Buffer): string {
4 return buffer
5 .toString('base64')
6 .replace(/\+/g, '-')
7 .replace(/\//g, '_')
8 .replace(/=/g, '')
9}
10
11export function generateCodeVerifier(): string {
12 return base64URLEncode(randomBytes(32))
13}
14
15export function generateCodeChallenge(verifier: string): string {
16 const hash = createHash('sha256')
17 hash.update(verifier)
18 return base64URLEncode(hash.digest())
19}
20
21export function generateState(): string {
22 return base64URLEncode(randomBytes(32))
23}