Skip to content

Instantly share code, notes, and snippets.

@dotcypress
Created January 14, 2016 00:14
Show Gist options
  • Save dotcypress/2e9cf3da8619916d0efe to your computer and use it in GitHub Desktop.
Save dotcypress/2e9cf3da8619916d0efe to your computer and use it in GitHub Desktop.
// One password is enough.
function getPassword(masterPassword, serviceName, username){
var alphabetRFC1924 = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','!','#','$','%','&','(',')','*','+','-',';','<','=','>','?','@','^','_','`','{','|','}','~'];
var hash = md5(masterPassword + serviceName + username);
var password = '';
for (i = 0; i < hash.length; i += 1) {
var symbol = hash.charCodeAt(i);
password += alphabetRFC1924[symbol % alphabetRFC1924.length];
}
return password;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment