diff --git a/lib/ids/IdHelpers.js b/lib/ids/IdHelpers.js index 605e72f96..26fd3d384 100644 --- a/lib/ids/IdHelpers.js +++ b/lib/ids/IdHelpers.js @@ -32,14 +32,17 @@ const getHash = (str, len) => { const getHashNumber = (str, len) => { const hash = createHash("md4"); hash.update(str); - const digest = hash.digest("hex") + "10000000000"; - if (len === 1) { - return +digest.match(/\d/)[0]; + const digest = hash.digest("hex"); + let i = 0; + let result = ""; + while (i < digest.length && result.length < len) { + if (digest.charCodeAt(i) < 58) { + result += digest[i]; + } + i++; } - return +digest - .match(/\d/g) - .slice(0, len) - .join(""); + + return +(result + "10000000000".slice(0, len - result.length)); }; /**