TLIYHash
by thelifeisyours
JavaScript
var pass = "a";
console.log(hashString(pass));
function hashString(stringIn) {
let stringOut = "";
let seed = genSeed(stringIn);
console.log("seed:", seed);
for (let length = 0; length < 127; length++) {
let char = rngChar(33, 126, rng(genSeed(stringIn) * length));
stringOut += String.fromCharCode(char);
}
return stringOut;
}
function rngChar(min, max, salt) {
let char = rng(salt);
while (!(char >= min && char <= max)) {
char = (char % max) + min;
}
return char;
}
function toCharArray(string) {
return string.split('').map(char => {
return char.charCodeAt()
});
}
function rng(n) {
let seed = n * 48271;
let tmp = (seed & 0x7fffffff) + (seed >> 31);
tmp = (tmp & 0x7fffffff) + (tmp >> 31);
return tmp;
}
function genSeed(string) {
return (toCharArray(string).reduce((n, a) => {
return n + a;
}) & 0xFFF) << 16;
}