From 2c447c938168d9dfd8ca9fce18c83ac67d792d56 Mon Sep 17 00:00:00 2001 From: afonya2 Date: Fri, 16 May 2025 18:45:17 +0200 Subject: [PATCH] added checks --- IGA.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/IGA.ts b/IGA.ts index a616cb1..1799127 100644 --- a/IGA.ts +++ b/IGA.ts @@ -102,6 +102,9 @@ function checksum(input: string) { } let bin = "" for (let i = 0; i < input.length; i++) { + if (input.charCodeAt(i) < 0 || input.charCodeAt(i) > 50000) { + throw new Error("Character at index " + i + " is not a valid character") + } bin += dec2bin(input.charCodeAt(i)) } while (bin.length > 0) { @@ -124,6 +127,11 @@ function hash(input: string, salt: number = 0, iterations: number = 32, len: num if (len < 16) { throw new Error("Length must be at least 16") } + if (seed != undefined) { + if (seed < 0 || seed > 65535) { + throw new Error("Invalid seed") + } + } const padding = generatePadding(len, seed); let hash: number[] = [] for (let i = 0; i < padding.padding.length; i++) { @@ -131,6 +139,9 @@ function hash(input: string, salt: number = 0, iterations: number = 32, len: num } let plus = hash.length for (let i = 0; i < input.length; i++) { + if (input.charCodeAt(i) < 0 || input.charCodeAt(i) > 50000) { + throw new Error("Character at index " + i + " is not a valid character") + } hash[plus+i] = input.charCodeAt(i) } for (let i = 0; i < iterations; i++) {