{"ScriptPreparationCode":"function generateStringifiedDummyConfigTO(length) {\r\n var result = \u0027\u0027;\r\n var characters = \u0027ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\u0027;\r\n var charactersLength = characters.length;\r\n for ( var i = 0; i \u003C length; i\u002B\u002B ) {\r\n result \u002B= characters.charAt(Math.floor(Math.random() * \r\n charactersLength));\r\n }\r\n return result;\r\n}\r\n\r\nvar lengthOfStringifiedConfigTOWith2000Filters = 70*2000;\r\n\r\nvar dummyStringifiedConfigTO = generateStringifiedDummyConfigTO(lengthOfStringifiedConfigTOWith2000Filters);\r\n\r\nasync function generateConfigId(hashAlgorithm, stringifiedConfigTO) {\r\n const encodedConfig = new TextEncoder().encode(stringifiedConfigTO);\r\n const hashBuffer = await crypto.subtle.digest(hashAlgorithm, encodedConfig);\r\n const hashArray = Array.from(new Uint8Array(hashBuffer));\r\n const hashHex = hashArray.map(b =\u003E b.toString(16).padStart(2, \u00270\u0027)).join(\u0027\u0027);\r\n return hashHex;\r\n}","TestCases":[{"Name":"SHA-1","Code":"generateConfigId(\u0027SHA-1\u0027, dummyStringifiedConfigTO)\r\n .then(hashHex =\u003E console.log(hashHex));","IsDeferred":false},{"Name":"SHA-256","Code":"generateConfigId(\u0027SHA-256\u0027, dummyStringifiedConfigTO)\r\n .then(hashHex =\u003E console.log(hashHex));","IsDeferred":false}]}