CasperSecurity

Current Path : /var/www/hrms.uiet.co.in/node_modules/cipher-base/
Upload File :
Current File : /var/www/hrms.uiet.co.in/node_modules/cipher-base/test.js

var Buffer = require('safe-buffer').Buffer
var CipherBase = require('./')

var test = require('tape')
var inherits = require('inherits')

test('basic version', function (t) {
  function Cipher () {
    CipherBase.call(this)
  }
  inherits(Cipher, CipherBase)
  Cipher.prototype._update = function (input) {
    t.ok(Buffer.isBuffer(input))
    return input
  }
  Cipher.prototype._final = function () {
    // noop
  }
  var cipher = new Cipher()
  var utf8 = 'abc123abcd'
  var update = cipher.update(utf8, 'utf8', 'base64') + cipher.final('base64')
  var string = (Buffer.from(update, 'base64')).toString()
  t.equals(utf8, string)
  t.end()
})
test('hash mode', function (t) {
  function Cipher () {
    CipherBase.call(this, 'finalName')
    this._cache = []
  }
  inherits(Cipher, CipherBase)
  Cipher.prototype._update = function (input) {
    t.ok(Buffer.isBuffer(input))
    this._cache.push(input)
  }
  Cipher.prototype._final = function () {
    return Buffer.concat(this._cache)
  }
  var cipher = new Cipher()
  var utf8 = 'abc123abcd'
  var update = cipher.update(utf8, 'utf8').finalName('base64')
  var string = (Buffer.from(update, 'base64')).toString()

  t.equals(utf8, string)
  t.end()
})
test('hash mode as stream', function (t) {
  function Cipher () {
    CipherBase.call(this, 'finalName')
    this._cache = []
  }
  inherits(Cipher, CipherBase)
  Cipher.prototype._update = function (input) {
    t.ok(Buffer.isBuffer(input))
    this._cache.push(input)
  }
  Cipher.prototype._final = function () {
    return Buffer.concat(this._cache)
  }
  var cipher = new Cipher()
  cipher.on('error', function (e) {
    t.notOk(e)
  })
  var utf8 = 'abc123abcd'
  cipher.end(utf8, 'utf8')
  var update = cipher.read().toString('base64')
  var string = (Buffer.from(update, 'base64')).toString()

  t.equals(utf8, string)
  t.end()
})

test('encodings', function (t) {
  inherits(Cipher, CipherBase)
  function Cipher () {
    CipherBase.call(this)
  }
  Cipher.prototype._update = function (input) {
    return input
  }
  Cipher.prototype._final = function () {
    // noop
  }
  t.test('mix and match encoding', function (t) {
    t.plan(2)

    var cipher = new Cipher()
    cipher.update('foo', 'utf8', 'utf8')
    t.throws(function () {
      cipher.update('foo', 'utf8', 'base64')
    })
    cipher = new Cipher()
    cipher.update('foo', 'utf8', 'base64')
    t.doesNotThrow(function () {
      cipher.update('foo', 'utf8')
      cipher.final('base64')
    })
  })
  t.test('handle long uft8 plaintexts', function (t) {
    t.plan(1)
    var txt = 'ふっかつ あきる すぶり はやい つける まゆげ たんさん みんぞく ねほりはほり せまい たいまつばな ひはん'

    var cipher = new Cipher()
    var decipher = new Cipher()
    var enc = decipher.update(cipher.update(txt, 'utf8', 'base64'), 'base64', 'utf8')
    enc += decipher.update(cipher.final('base64'), 'base64', 'utf8')
    enc += decipher.final('utf8')

    t.equals(txt, enc)
  })
})
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY