Test case details

Preparation Code

function hashCode(str) { var hash = 0; if (str.length === 0) { return hash; } for (let i = 0; i < str.length; i++) { const char = str.charCodeAt(i); hash = ((hash << 5) - hash) + char; hash |= 0; // Convert to 32bit integer } return hash; } async function digestMessage(message) { const encoder = new TextEncoder(); const data = encoder.encode(message); const hash = await crypto.subtle.digest("SHA-1", data); return hash; } function arrayBufferToHexString(dataBuffer) { const dataArray = Array.from(new Uint8Array(dataBuffer)); return dataArray.map(b => b.toString(16).padStart(2, "0")).join(""); }

Test cases

Test #1

const str = "http://www.example.com"; const result = hashCode(str);

Test #2

(async() => { const str = "http://www.example.com"; const result = arrayBufferToHexString(await digestMessage(str)); })();