Optimize getHashNumber

This commit is contained in:
Mihail Bodrov 2018-12-18 03:36:53 +03:00
parent 4e653e73c6
commit 12dea1af24
1 changed files with 10 additions and 7 deletions

View File

@ -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));
};
/**