From d6222d5ceed2f789cee43af2b0e24e4b1d0471c1 Mon Sep 17 00:00:00 2001 From: Joel Biddle Date: Tue, 22 Aug 2023 17:33:35 +1000 Subject: [PATCH] attempt to fix crypto.subtle issue --- .../utilities/checks/checkIsPasswordBreached.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/utilities/checks/checkIsPasswordBreached.ts b/frontend/src/components/utilities/checks/checkIsPasswordBreached.ts index 2d19d20d2..b9d93b55c 100644 --- a/frontend/src/components/utilities/checks/checkIsPasswordBreached.ts +++ b/frontend/src/components/utilities/checks/checkIsPasswordBreached.ts @@ -13,10 +13,10 @@ export const checkIsPasswordBreached = async (password: string) => { const encodedPwd = textEncoder.encode(password); console.log("encodedPwd:", encodedPwd); // delete later!!! - const hashBuffer = await crypto.subtle.digest("SHA-1", encodedPwd); // returns promise - console.log("hashBuffer:", hashBuffer); // delete later!!! + const hash = crypto.createHash("sha1").update(encodedPwd).digest(); + console.log("hash:", hash); // delete later!!! - const hashedPwd = Array.from(new Uint8Array(hashBuffer)) + const hashedPwd = Array.from(new Uint8Array(hash)) .map((byte) => byte.toString(16).padStart(2, "0")) .join("") .toUpperCase(); @@ -33,7 +33,8 @@ export const checkIsPasswordBreached = async (password: string) => { console.log("isBreachedPassword:", isBreachedPassword); // delete later!!! // Clear the hashed password from memory - crypto.subtle.digest("SHA-1", encodedPwd); + const zeroBuffer = new Uint8Array(encodedPwd.length); + encodedPwd.set(zeroBuffer); return isBreachedPassword; } catch (err: any) {