You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							49 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							49 lines
						
					
					
						
							1.6 KiB
						
					
					
				var test = require('tape') | 
						|
var crypto = require('browserify-cipher/browser') | 
						|
var randomBytes = require('pseudorandombytes') | 
						|
 | 
						|
function runIt (i) { | 
						|
  crypto.listCiphers().forEach(function (cipher) { | 
						|
    test('run: ' + i, function (t) { | 
						|
      t.test('ciphers: ' + cipher, function (t) { | 
						|
        t.plan(1) | 
						|
        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())) | 
						|
        if (cipher.indexOf('gcm') > -1) { | 
						|
          decrypter.setAuthTag(crypter.getAuthTag()) | 
						|
        } | 
						|
        out.push(decrypter.final()) | 
						|
        t.equals(data.toString('hex'), Buffer.concat(out).toString('hex')) | 
						|
      }) | 
						|
    }) | 
						|
  }) | 
						|
  if (i < 4) { | 
						|
    setTimeout(runIt, 0, i + 1) | 
						|
  } | 
						|
} | 
						|
runIt(1) | 
						|
test('getCiphers', function (t) { | 
						|
  t.plan(1) | 
						|
  t.ok(crypto.getCiphers().length, 'get ciphers returns an array') | 
						|
}) | 
						|
 | 
						|
test('through crypto browserify works', function (t) { | 
						|
  t.plan(2) | 
						|
  var crypto = 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') | 
						|
})
 | 
						|
 |