mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 19:15:35 +08:00
# Conflicts: # jsowell-ui/.env.development # jsowell-ui/.env.staging # jsowell-ui/bin/build-sit.bat # jsowell-ui/bin/build.bat # jsowell-ui/src/api/adapayMember/adapayMember.js # jsowell-ui/src/api/pile/merchant.js # jsowell-ui/src/router/index.js # jsowell-ui/src/views/financial/financeDetail.vue # jsowell-ui/src/views/financial/merchant.vue # jsowell-ui/src/views/homeIndex/homeIndex.vue # jsowell-ui/src/views/login.vue # jsowell-ui/src/views/pile/basic/detail.vue # jsowell-ui/src/views/pile/station/components/SiteInfo.vue # jsowell-ui/src/views/pile/station/detail.vue # jsowell-ui/src/views/pile/station/orderReport.vue
55 lines
1.8 KiB
JavaScript
55 lines
1.8 KiB
JavaScript
'use strict';
|
|
|
|
var test = require('tape');
|
|
var bcCrypto = require('browserify-cipher/browser');
|
|
var bcCyphers = bcCrypto.getCiphers();
|
|
var randomBytes = require('pseudorandombytes');
|
|
|
|
for (var i = 0; i < 4; i += 1) {
|
|
bcCrypto.listCiphers().forEach(function (cipher) {
|
|
test('run: ' + i, function (t) {
|
|
/* eslint no-loop-func: 0 */
|
|
t.test('ciphers: ' + cipher, function (st) {
|
|
st.plan(1);
|
|
var data = randomBytes(562);
|
|
var password = randomBytes(20);
|
|
var crypter = bcCrypto.createCipher(cipher, password);
|
|
var decrypter = bcCrypto.createDecipher(cipher, password);
|
|
var out = [];
|
|
out.push(decrypter.update(crypter.update(data)));
|
|
out.push(decrypter.update(crypter['final']()));
|
|
if (cipher.indexOf('gcm') > -1) {
|
|
decrypter.setAuthTag(crypter.getAuthTag());
|
|
}
|
|
out.push(decrypter['final']());
|
|
|
|
st.equals(data.toString('hex'), Buffer.concat(out).toString('hex'));
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
test('getCiphers', function (t) {
|
|
t.plan(1);
|
|
t.ok(bcCyphers.length, 'get ciphers returns an array');
|
|
});
|
|
|
|
// eslint-disable-next-line global-require
|
|
test('through crypto browserify works', { skip: !require('crypto').createCipher && 'node 22+ removes createCipher' }, function (t) {
|
|
t.plan(2);
|
|
var crypto = require('../'); // eslint-disable-line global-require
|
|
var cipher = 'aes-128-ctr';
|
|
var data = randomBytes(562);
|
|
var password = randomBytes(20);
|
|
var crypter = crypto.createCipher(cipher, password);
|
|
var decrypter = crypto.createDecipher(cipher, password);
|
|
var out = [];
|
|
out.push(decrypter.update(crypter.update(data)));
|
|
out.push(decrypter.update(crypter['final']()));
|
|
out.push(decrypter['final']());
|
|
|
|
t.equals(data.toString('hex'), Buffer.concat(out).toString('hex'));
|
|
|
|
t.ok(crypto.getCiphers().length, 'get ciphers returns an array');
|
|
});
|