diff --git a/IGA.ts b/IGA.ts index a681006..b07dd62 100644 --- a/IGA.ts +++ b/IGA.ts @@ -129,6 +129,7 @@ function checksum(input: string) { function hashInternal(toHash: number[], len: number, salt: number, first: boolean): number[] { let complete: number[] = [] + let count = 0 while (toHash.length > 0) { let inp = copy(toHash, true) for (let i = 0; i < complete.length; i++) { @@ -159,6 +160,20 @@ function hashInternal(toHash: number[], len: number, salt: number, first: boolea for (let i = 0; i < selected.length; i++) { complete.push(selected[i]) } + if (!first) { + break + } else { + count++ + if (count*len >= 1024) { + break + } + } + } + + if (!first) { + for (let i = 0; i < toHash.length; i++) { + complete.push(toHash[i]) + } } return complete