| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- var test = require('tape')
 - var crypto = require('crypto')
 - var desModes = require('browserify-des/modes')
 - var aesModes = require('browserify-aes/modes')
 - var ourCrypto = require('./browser')
 - 
 - function runIvTest (mode, keyLen, ivLen) {
 -   test('mode: ' + mode, function (t) {
 -     var i = 0
 -     while (++i < 10) {
 -       run(i)
 -     }
 -     function run (i) {
 -       t.test('run: ' + i, function (t) {
 -         t.plan(2)
 -         var key = crypto.randomBytes(keyLen)
 -         var iv = crypto.randomBytes(ivLen)
 -         var text = crypto.randomBytes(200)
 -         var ourEncrypt
 -         try {
 -           ourEncrypt = ourCrypto.createCipheriv(mode, key, iv)
 -         } catch (e) {
 -           t.notOk(e, e.stack)
 -         }
 -         var nodeEncrypt
 -         try {
 -           nodeEncrypt = crypto.createCipheriv(mode, key, iv)
 -         } catch (e) {
 -           t.notOk(e, e.stack)
 -         }
 -         var ourCipherText = Buffer.concat([ourEncrypt.update(text), ourEncrypt.final()])
 -         var authTag
 -         if (mode.slice(-3) === 'gcm') {
 -           authTag = ourEncrypt.getAuthTag()
 -         }
 -         var nodeCipherText = Buffer.concat([nodeEncrypt.update(text), nodeEncrypt.final()])
 -         t.equals(nodeCipherText.toString('hex'), ourCipherText.toString('hex'))
 -         var ourDecrypt = ourCrypto.createDecipheriv(mode, key, iv)
 -         if (mode.slice(-3) === 'gcm') {
 -           ourDecrypt.setAuthTag(authTag)
 -         }
 -         var plainText = Buffer.concat([ourDecrypt.update(ourCipherText), ourDecrypt.final()])
 -         t.equals(text.toString('hex'), plainText.toString('hex'))
 -       })
 -     }
 -   })
 - }
 - Object.keys(aesModes).forEach(function (modeName) {
 -   var mode = aesModes[modeName]
 -   runIvTest(modeName, mode.key / 8, mode.iv)
 - })
 - Object.keys(desModes).forEach(function (modeName) {
 -   var mode = desModes[modeName]
 -   runIvTest(modeName, mode.key, mode.iv)
 - })
 
 
  |