Merge pull request #1185 from isocolsky/test/passphrase

Add tests for passphrase
This commit is contained in:
Matias Alejo Garcia 2014-08-26 16:19:46 -03:00
commit 64afc4b914
3 changed files with 22 additions and 3 deletions

View file

@ -1,5 +1,7 @@
'use strict';
var CryptoJS = CryptoJS || require('crypto-js');
function Passphrase(config) {
config = config || {};
this.salt = config.salt || 'mjuBtGybi/4=';

View file

@ -68,7 +68,8 @@
"node-cryptojs-aes": "0.4.0",
"socket.io-client": "1.0.6",
"travis-cov": "0.2.5",
"uglifyify": "1.2.3"
"uglifyify": "1.2.3",
"crypto-js": "3.1.2"
},
"main": "app.js",
"homepage": "https://github.com/bitpay/copay",

View file

@ -11,8 +11,6 @@ try {
}
var Passphrase = copay.Passphrase;
describe('Passphrase model', function() {
it('should create an instance', function() {
@ -20,4 +18,22 @@ describe('Passphrase model', function() {
should.exist(p);
});
it('should generate key from password', function () {
var p = new Passphrase({
salt: 'mjuBtGybi/4=',
iterations: 10,
});
var pass = '123456';
var k = p.get(pass);
var k64 = p.getBase64(pass);
// Note: hashes were generated using CryptoJS
k.toString().should.equal('2283fe11b9a189b82f1c09200806920cbdd8ef752f53dea910f90ab526f441acdbd5128555647a7e390a1a9fea042226963ccd0f7851030b3d6e282ccebaa17e');
k64.toString().should.equal('IoP+EbmhibgvHAkgCAaSDL3Y73UvU96pEPkKtSb0Qazb1RKFVWR6fjkKGp/qBCImljzND3hRAws9bigszrqhfg==');
p.getBase64Async(pass, function (ret) {
ret.toString().should.equal('IoP+EbmhibgvHAkgCAaSDL3Y73UvU96pEPkKtSb0Qazb1RKFVWR6fjkKGp/qBCImljzND3hRAws9bigszrqhfg==');
});
});
});