/**
* @covers FOF30\Encrypt\Aes
*
* @return void
*/
public function testCryptProcessEcb()
{
if (function_exists('mcrypt_module_open')) {
$this->aes = new Aes('The quick brown fox jumped over the lazy dog', 256, 'ecb');
// Regular string
$str = 'THATISINSANE';
$es = $this->aes->encryptString($str, true);
$ds = $this->aes->decryptString($es, true);
$ds = rtrim($ds, "");
$this->assertNotEquals($str, $es);
$this->assertEquals($str, $ds);
// UTF-8 data
$str = 'Χρησιμοποιώντας μη λατινικούς χαρακτήρες';
$es = $this->aes->encryptString($str, false);
$ds = $this->aes->decryptString($es, false);
$ds = rtrim($ds, "");
$this->assertNotEquals($str, $es);
$this->assertEquals($str, $ds);
// Using an odd sized keystring (using sha256 to convert it to a key)
$this->aes = new Aes('The quick brown fox jumped over the lazy dog');
$str = 'This is some very secret stuff that you are not supposed to transmit in clear text';
$es = $this->aes->encryptString($str, true);
$ds = $this->aes->decryptString($es, true);
$ds = rtrim($ds, "");
$this->assertNotEquals($str, $es);
$this->assertEquals($str, $ds);
} else {
$this->markTestSkipped('mcrypt is not supported on this system');
}
}