UNPKG

fh-wfm-user

Version:
59 lines 2.33 kB
var assert = require('assert'); var hash = require('../../lib/mbaas/hash'); describe('hash', function() { describe('#saltAndHash', function() { it('should hash a password [slow]', function(done) { hash.saltAndHash('Password1', function(err) { assert(!err); done(); }); }); it('should also the cipher, iterations and salt [slow]', function(done) { hash.saltAndHash('Password1', function(err, hashed) { assert.equal(hashed.split(hash.separator).length, 4); done(); }); }); }); describe('#verify', function() { it('should return true for a correct password [slow]', function(done) { hash.verify('Password1', 'sha1:10000:cb535985929bee12820710726dc9d0a3d8412657234c1d45999cadabfcf410b6164a9' + '2cc701b9d882e6b0839fd656efe108c467f8f3f6463943af6f1f3458acff1bc7b12b67e1c71e2d1f' + 'cda2f73250cf13facf3986ad33b4f896eed7128711c3212e9e4fdb35ce4fbc53b07aa3586193cfcd' + '45fab28e842074990b0b864ff463258097e12af3f300878bc4bbc86954e7cd6419cd781569950944' + '0d6de4ac32f246528491b8d746d5d38a194be10fc4bb2e34eaf0c0005c93fd0a5fc74e1af56f82f7' + 'f348bc436c63c26b8f97cef0aea05554223e8e4bfc00d8f235e7276575890d5218e73fbca2b68706' + '88b4d593a4e88ac9acd8d2c37fff77d79b7eb65dba2:241b61b7b3e8912b3e3e1351d410ce6deb05' + 'ba953f92092916df7e025dcfdaaa96dd4cb3b0f7017b875d97f8dfbb2551550990bdae5b4024e5dc' + 'ba84affafc40', function(err, match) { assert(!err); assert(match); done(); }); }); it('should return an error on a malformed string', function(done) { hash.verify('Password1', 'invalidhash', function(err) { assert(err); done(); }); }); it('should return false for a incorrect password', function(done) { hash.verify('Password1', 'sha512:1:hashy:salty', function(err, match) { assert(!err); assert(!match); done(); }); }); it('should return true for a #saltAndHash-ed password [slow]', function(done) { hash.saltAndHash('Password1', function(err, hashed) { assert(!err); hash.verify('Password1', hashed, function(err, match) { assert(!err); assert(match); done(); }); }); }); }); });