File size: 290 Bytes
116a473
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
import { timingSafeEqual } from "node:crypto"

export function safeEqual(a: string, b: string): boolean {
  const encoder = new TextEncoder()
  const aBytes = encoder.encode(a)
  const bBytes = encoder.encode(b)
  return aBytes.length === bBytes.length && timingSafeEqual(aBytes, bBytes)
}