Notifications interface (#5354)
Co-authored-by: Apoorv Mishra <apoorvmishra101092@gmail.com>
This commit is contained in:
19
server/utils/crypto.ts
Normal file
19
server/utils/crypto.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import crypto from "crypto";
|
||||
|
||||
/**
|
||||
* Compare two strings in constant time to prevent timing attacks.
|
||||
*
|
||||
* @param a The first string to compare
|
||||
* @param b The second string to compare
|
||||
* @returns Whether the strings are equal
|
||||
*/
|
||||
export function safeEqual(a?: string, b?: string) {
|
||||
if (!a || !b) {
|
||||
return false;
|
||||
}
|
||||
if (a.length !== b.length) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return crypto.timingSafeEqual(Buffer.from(a), Buffer.from(b));
|
||||
}
|
||||
Reference in New Issue
Block a user