string-timing-safe-equal
Version:
crypto.timingSafeEqual, but works with strings
22 lines (14 loc) • 510 B
Markdown
[`crypto.timingSafeEqual()`](https://nodejs.org/docs/latest-v23.x/api/crypto.html#cryptotimingsafeequala-b) with two differences:
- Works with strings in addition to `Uint8Array`s and `Buffer`s
- Returns `false` when lengths are different (instead of throwing)
Usage:
```javascript
import timingSafeEqual from "string-timing-safe-equal";
timingSafeEqual("abc", "abc");
// => true
timingSafeEqual("abc", "xyz");
// => false
timingSafeEqual("abc", "abcdefghi");
// => false
```