Skip to content

Instantly share code, notes, and snippets.

@pid
Created November 10, 2014 20:12
Show Gist options
  • Save pid/e192d3c249988755f84c to your computer and use it in GitHub Desktop.
Save pid/e192d3c249988755f84c to your computer and use it in GitHub Desktop.
Trello Developer Challenge https://trello.com/jobs/developer
/**
* @author Sascha Droste
* @description trello developer challenge
*
*/
var trello = 956446786872726;
/**
* calculate trello hash
* @param {string} s input string
* @return {int64} calculated hash value
*/
var hash = function hash(s) {
var h = 7;
var i;
var letters = "acdegilmnoprstuw";
var l = s.length;
for (i = 0; i < l; i++) {
h = (h * 37 + letters.indexOf(s[i]));
}
return h;
};
/**
* reverse hash value to string
* @param {int} v hash value
* @return {string} string which match the hash
*/
var rhash = function rhash(v) {
var letters = "acdegilmnoprstuw";
var l = letters.length;
var r = (v - (v % 37)) / 37;
if (v > l) {
return rhash(r) + letters[v % 37];
} else {
return '';
}
};
console.log(rhash(trello));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment