Skip to content

Instantly share code, notes, and snippets.

@mdciotti
Created October 17, 2014 03:13
Show Gist options
  • Save mdciotti/fe8cc588d8e5298138a8 to your computer and use it in GitHub Desktop.
Save mdciotti/fe8cc588d8e5298138a8 to your computer and use it in GitHub Desktop.
function hash (s) {
var h = 7;
var letters = "acdegilmnoprstuw";
for (var i = 0; i < s.length; i++) {
h = (h * 37 + letters.indexOf(s[i]));
}
return h;
}
function pad(str, len, c) { while (str.length < len) str += (c || '_'); return str; }
function baseConvert(num, base) { var result = []; while (num > 0) { result.unshift(num % base); num = Math.floor(num / base); } return result.slice(1); };
function makeText(arr, letters, size) { letters = pad(letters, size); return arr.reduce(function (str, i) { return str + letters[i]; }, "") };
function solve(hash) { return makeText(baseConvert(hash, 37), "acdegilmnoprstuw", 37); }
// > solve(680131659347)
// output: 'leepadg'
// > solve(956446786872726)
// output: 'trellises'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment