18 lines
490 B
TypeScript
18 lines
490 B
TypeScript
import { timingSafeEqual, createHash } from 'crypto';
|
|
|
|
export function safeCompare(token: string, token2: string) {
|
|
return timingSafeEqual(Buffer.from(token), Buffer.from(token2));
|
|
}
|
|
|
|
export function sha256hash(input: string) {
|
|
return createHash('sha256').update(input).digest();
|
|
}
|
|
|
|
export function createS256(input: string) {
|
|
return sha256hash(Buffer.from(input).toString('ascii'))
|
|
.toString('base64')
|
|
.replace(/\+/g, '-')
|
|
.replace(/\//g, '_')
|
|
.replace(/=+$/, '');
|
|
}
|