UNPKG

@authing/jose

Version:

Webpack v4 compatible version of panva/jose v3.x

20 lines (19 loc) 538 B
const 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;