Files
freeCodeCamp/api/utils/index.ts
2023-03-02 17:26:40 +00:00

16 lines
436 B
TypeScript

import { randomBytes, createHash } from 'crypto';
export function base64URLEncode(buf: Buffer): string {
return buf
.toString('base64')
.replace(/\+/g, '-')
.replace(/\//g, '_')
.replace(/=/g, '');
}
export const verifier = base64URLEncode(randomBytes(32));
function sha256(buf: Buffer) {
return createHash('sha256').update(buf).digest();
}
export const challenge = base64URLEncode(sha256(Buffer.from(verifier)));