encrypt( hex2bin(self::TEST_SINGLE_BLOCK_PLAIN_TEXT_STRING), strlen(hex2bin(self::TEST_SINGLE_BLOCK_PLAIN_TEXT_STRING)) ); $this->assertEquals(hex2bin(self::TEST_SINGLE_BLOCK_CIPHER_TEXT_STRING), $cipher); } public function testSingleBlockDencrypt() { $encryption = new DefaultEncryption(hex2bin(self::TEST_KEY)); $plain = $encryption->decrypt( hex2bin(self::TEST_SINGLE_BLOCK_CIPHER_TEXT_STRING), strlen(hex2bin(self::TEST_SINGLE_BLOCK_CIPHER_TEXT_STRING)) ); $this->assertEquals(hex2bin(self::TEST_SINGLE_BLOCK_PLAIN_TEXT_STRING), $plain); } const TEST_MULTIPLE_BLOCKS_PLAIN_TEXT_STRING = "87d1d07454135b170e89045025ed1e8309ee2f14aaaab586d9e81505a8ba72c5"; const TEST_MULTIPLE_BLOCKS_CIPHER_TEXT_STRING = "0144f97cc3492b88aed652bb914e8748c58871e1aea753ff04fe731f7cce9a38"; public function testMultipleBlocksEncrypt() { $encryption = new DefaultEncryption(hex2bin(self::TEST_KEY)); $cipher = $encryption->encrypt( hex2bin(self::TEST_MULTIPLE_BLOCKS_PLAIN_TEXT_STRING), strlen(hex2bin(self::TEST_MULTIPLE_BLOCKS_PLAIN_TEXT_STRING)) ); $this->assertEquals(hex2bin(self::TEST_MULTIPLE_BLOCKS_CIPHER_TEXT_STRING), $cipher); } public function testMultipleBlocksDencrypt() { $encryption = new DefaultEncryption(hex2bin(self::TEST_KEY)); $plain = $encryption->decrypt( hex2bin(self::TEST_MULTIPLE_BLOCKS_CIPHER_TEXT_STRING), strlen(hex2bin(self::TEST_MULTIPLE_BLOCKS_CIPHER_TEXT_STRING)) ); $this->assertEquals(hex2bin(self::TEST_MULTIPLE_BLOCKS_PLAIN_TEXT_STRING), $plain); } // ----------------------------------------------------------------------------------------------------------------- public function testBlocklSize() { $encryption = new DefaultEncryption(hex2bin(self::TEST_KEY)); $this->assertEquals(4, $encryption->getBlockSize()); } // ----------------------------------------------------------------------------------------------------------------- const TEST_SMALL_KEY = "c89a7de0c5fea9ca"; public function testSmallKey() { $this->setExpectedException(InvalidKeyException::class); new DefaultEncryption(hex2bin(self::TEST_SMALL_KEY)); } const TEST_LARGE_KEY = "c89a7de0c5fea9cac89a7de0c5fea9ca"; public function testLargeKey() { $this->setExpectedException(InvalidKeyException::class); new DefaultEncryption(hex2bin(self::TEST_LARGE_KEY)); } const TEST_INVALID_BLOCK_SIZE_PLAIN_TEXT_STRING = "3ef8cc"; const TEST_INVALID_BLOCK_SIZE_CIPHER_TEXT_STRING = "b86de5"; public function testInvalidBlockSizeEncrypt() { $this->setExpectedException(InvalidBlockSizeException::class); $encryption = new DefaultEncryption(hex2bin(self::TEST_KEY)); $plain = $encryption->encrypt( hex2bin(self::TEST_INVALID_BLOCK_SIZE_PLAIN_TEXT_STRING), strlen(hex2bin(self::TEST_INVALID_BLOCK_SIZE_PLAIN_TEXT_STRING)) ); } public function testInvalidBlockSizeDencrypt() { $this->setExpectedException(InvalidBlockSizeException::class); $encryption = new DefaultEncryption(hex2bin(self::TEST_KEY)); $plain = $encryption->decrypt( hex2bin(self::TEST_INVALID_BLOCK_SIZE_CIPHER_TEXT_STRING), strlen(hex2bin(self::TEST_INVALID_BLOCK_SIZE_CIPHER_TEXT_STRING)) ); } }