Create a gist now

Instantly share code, notes, and snippets.

Get salt for keybase
// Step One: Salt
$.ajax({
async: true,
type: 'GET',
url: "https://keybase.io/_/api/1.0/getsalt.json",
async: false,
data: {"email_or_username": username},
success: function(salt) {
if(salt && salt.status && salt.status.name == "OK"){
var scrypt = scrypt_module_factory(67108864);
var pwh = scrypt.crypto_scrypt(scrypt.encode_utf8(user_passphrase),
hex2bin(salt.salt),
Math.pow(2,15), 8, 1, 224).slice(192, 224);
var login_session = CryptoJS.enc.Base64.parse(salt.login_session);
var parsed_pwh = CryptoJS.enc.u8array.parse(pwh);
var hmac_pwh = CryptoJS.HmacSHA512(login_session, parsed_pwh);
hmac_pwh = CryptoJS.enc.Hex.stringify(hmac_pwh);
}
},
error {
console.log(err + status);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment