Beispiel #1
0
 /**
  * @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));
 }
Beispiel #2
0
 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);
 }