coreMultiCryptMcrypt = new PhalApi_Crypt_MultiMcrypt('12345678'); } protected function tearDown() { } /** * @group testEncrypt */ public function testEncrypt() { $data = 'haha~'; $key = '123'; $rs = $this->coreMultiCryptMcrypt->encrypt($data, $key); } /** * @group testDecrypt */ public function testDecrypt() { $data = 'haha~'; $key = '123'; $rs = $this->coreMultiCryptMcrypt->decrypt($data, $key); } public function testMixed() { $data = 'haha!哈哈!'; $key = md5('123'); $encryptData = $this->coreMultiCryptMcrypt->encrypt($data, $key); $decryptData = $this->coreMultiCryptMcrypt->decrypt($encryptData, $key); $this->assertEquals($data, $decryptData); } /** * @dataProvider provideComplicateData */ public function testWorkWithMoreComplicateData($data) { $key = 'phalapi'; $encryptData = $this->coreMultiCryptMcrypt->encrypt($data, $key); $decryptData = $this->coreMultiCryptMcrypt->decrypt($encryptData, $key); $this->assertSame($data, $decryptData); } public function provideComplicateData() { return array( array(''), array(' '), array('0'), array(0), array(1), array('12#d_'), array(12345678), array('来点中文行不行?'), array('843435Jhe*&混合'), ); } /** * 当无法对称解密时,返回原数据 */ public function testIllegalData() { $encryptData = ''; $decryptData = $this->coreMultiCryptMcrypt->decrypt($encryptData, 'whatever'); $this->assertEquals($encryptData, $decryptData); } }