1 | var modes = require('./modes');
|
2 | var fixtures = require('./test/fixtures.json');
|
3 | var crypto = require('crypto');
|
4 | var types = ['aes-128-cfb1','aes-192-cfb1','aes-256-cfb1'];
|
5 | var ebtk = require('./EVP_BytesToKey');
|
6 | var fs = require('fs');
|
7 |
|
8 | fixtures.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 | });
|
25 | fs.writeFileSync('./test/fixturesNew.json', JSON.stringify(fixtures, false, 4)); |
\ | No newline at end of file |