deno.land / x / jose@v5.2.4 / runtime / timing_safe_equal.ts

timing_safe_equal.ts
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import type { TimingSafeEqual } from './interfaces.d.ts'
const timingSafeEqual: TimingSafeEqual = (a, b) => { if (!(a instanceof Uint8Array)) { throw new TypeError('First argument must be a buffer') } if (!(b instanceof Uint8Array)) { throw new TypeError('Second argument must be a buffer') } if (a.length !== b.length) { throw new TypeError('Input buffers must have the same length') }
const len = a.length let out = 0 let i = -1 while (++i < len) { out |= a[i] ^ b[i] } return out === 0}
export default timingSafeEqual
jose

Version Info

Tagged at
a month ago