Files
freeCodeCamp/api/utils/index.ts
2023-02-24 17:25:53 +05:30

16 lines
428 B
TypeScript

import { randomBytes, createHash } from 'crypto';
export function base64URLEncode(buf: Buffer) {
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)));