/** * @dataProvider dataProviderEncryptByKeyCompat * * @param string $key encryption key hex string * @param string $data plaintext hex string * @param string $encrypted ciphertext hex string */ public function testEncryptByKeyCompat($key, $data, $encrypted) { $key = hex2bin(preg_replace('{\\s+}', '', $key)); $data = hex2bin(preg_replace('{\\s+}', '', $data)); $encrypted = hex2bin(preg_replace('{\\s+}', '', $encrypted)); $this->assertEquals($data, $this->security->decryptByKey($encrypted, $key)); }
public function testEncryptByKey() { $data = 'known data'; $key = $this->security->generateRandomKey(80); $encryptedData = $this->security->encryptByKey($data, $key); $this->assertFalse($data === $encryptedData); $decryptedData = $this->security->decryptByKey($encryptedData, $key); $this->assertEquals($data, $decryptedData); $encryptedData = $this->security->encryptByKey($data, $key, $key); $decryptedData = $this->security->decryptByKey($encryptedData, $key, $key); $this->assertEquals($data, $decryptedData); $tampered = $encryptedData; $tampered[20] = ~$tampered[20]; $decryptedData = $this->security->decryptByKey($tampered, $key); $this->assertTrue(false === $decryptedData); $decryptedData = $this->security->decryptByKey($encryptedData, $key, $key . ""); $this->assertTrue(false === $decryptedData); }