forked from joepie91/scrypt-for-humans
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.1 KiB
JavaScript
63 lines
2.1 KiB
JavaScript
var scrypt = require("./");
|
|
var Promise = require("bluebird");
|
|
|
|
/* Using Promises */
|
|
var theHash;
|
|
|
|
Promise.try(function(){
|
|
return scrypt.hash("secretpassword");
|
|
}).then(function(hash){
|
|
console.log("The hash is " + hash);
|
|
theHash = hash;
|
|
|
|
/* Now let's see if it verifies - number 1 is correct. */
|
|
return scrypt.verifyHash("secretpassword", theHash);
|
|
}).then(function(){
|
|
console.log("Number 1 was correct!");
|
|
}).catch(scrypt.PasswordError, function(err){
|
|
console.log("Number 1 was wrong!");
|
|
}).then(function(){
|
|
/* And let's see if it fails correctly - number 2 is wrong. */
|
|
return scrypt.verifyHash("wrongpassword", theHash);
|
|
}).then(function(){
|
|
console.log("Number 2 was correct!");
|
|
}).catch(scrypt.PasswordError, function(err){
|
|
console.log("Number 2 was wrong!", err);
|
|
}).then(function(){
|
|
return scrypt.verifyHash("secretpassword", "c2NyeXB0AAwAAAAIAAAAAT8rdRZx8U1zzOnl0kor8x0MJK0SjXT277JgNYPWTzUiCchRWnTffPE23ZB8PwPDA4ckcSlDrNnrxMyH2fN2iMYbYS5sTnPHl2qLKgsiLsGr");
|
|
}).then(function(){
|
|
console.log("Known-good hash was correct!");
|
|
}).catch(scrypt.PasswordError, function(err){
|
|
console.log("Known-good hash was wrong!", err);
|
|
}).then(function(){
|
|
return scrypt.verifyHash("wrongpassword", "c2NyeXB0AAwAAAAIAAAAAT8rdRZx8U1zzOnl0kor8x0MJK0SjXT277JgNYPWTzUiCchRWnTffPE23ZB8PwPDA4ckcSlDrNnrxMyH2fN2iMYbYS5sTnPHl2qLKgsiLsGr");
|
|
}).then(function(){
|
|
console.log("Known-bad hash was correct!");
|
|
}).catch(scrypt.PasswordError, function(err){
|
|
console.log("Known-bad hash was wrong!", err);
|
|
});
|
|
|
|
/* Using nodebacks */
|
|
|
|
scrypt.hash("secretpassword", {}, function(err, hash){
|
|
console.log("The hash is " + hash);
|
|
|
|
/* Now let's see if it verifies - number 1 is correct. */
|
|
scrypt.verifyHash("secretpassword", hash, function(err, result){
|
|
if(err) {
|
|
console.log("Number 1 was wrong!", err);
|
|
} else {
|
|
console.log("Number 1 was correct!");
|
|
}
|
|
|
|
/* And let's see if it fails correctly - number 2 is wrong. */
|
|
scrypt.verifyHash("wrongpassword", hash, function(err, result){
|
|
if(err) {
|
|
console.log("Number 2 was wrong!", err);
|
|
} else {
|
|
console.log("Number 2 was correct!");
|
|
}
|
|
});
|
|
});
|
|
});
|