public function testEncrypt() { $factory = new \CryptLib\Cipher\Factory(); $aes = $factory->getBlockCipher('aes-128'); $aes->setKey('foobarbafoobarba'); $mode = new \CryptLib\Cipher\Block\Mode\CTR($aes, 'bazbsomemoreizbu'); $expect = $mode->encrypt('bazbizbusomemore'); $expect .= $mode->encrypt('somemorebazbizbu'); $expect .= $mode->finish(); $this->assertEquals('780be9c7da419db4b2c722f3e37d90b6a1c284aceff53e2abd271fdfbf0b7f28', bin2hex($expect)); }
/** * @dataProvider provideTestEncryptVectors * @group Vectors */ public function testEncrypt(array $vectors) { list($cipher, $key, $iv) = $vectors[0]; $cipher = new \CryptLib\Cipher\Block\Cipher\AES($cipher); $cipher->setKey(pack('H*', $key)); $mode = new \CryptLib\Cipher\Block\Mode\CTR($cipher, pack('H*', $iv)); foreach ($vectors as $vector) { list(, , , $data, $expected) = $vector; $enc = $mode->encrypt(pack('H*', $data)); $this->assertEquals($expected, strtoupper(bin2hex($enc))); } }