UNPKG

1.1 kBJavaScriptView Raw
1var modes = require('./modes');
2var fixtures = require('./test/fixtures.json');
3var crypto = require('crypto');
4var types = ['aes-128-cfb1','aes-192-cfb1','aes-256-cfb1'];
5var ebtk = require('./EVP_BytesToKey');
6var fs = require('fs');
7
8fixtures.forEach(function (fixture) {
9 types.forEach(function (cipher) {
10 var suite = crypto.createCipher(cipher, new Buffer(fixture.password));
11 var buf = new Buffer('');
12 buf = Buffer.concat([buf, suite.update(new Buffer(fixture.text))]);
13 buf = Buffer.concat([buf, suite.final()]);
14 fixture.results.ciphers[cipher] = buf.toString('hex');
15 if (modes[cipher].mode === 'ECB') {
16 return;
17 }
18 var suite2 = crypto.createCipheriv(cipher, ebtk(crypto, fixture.password, modes[cipher].key).key, new Buffer(fixture.iv, 'hex'));
19 var buf2 = new Buffer('');
20 buf2 = Buffer.concat([buf2, suite2.update(new Buffer(fixture.text))]);
21 buf2 = Buffer.concat([buf2, suite2.final()]);
22 fixture.results.cipherivs[cipher] = buf2.toString('hex');
23 });
24});
25fs.writeFileSync('./test/fixturesNew.json', JSON.stringify(fixtures, false, 4));
\No newline at end of file