public function testCrossPlatformDecryption() { $key = '9u4O/OOB7wuX7CYriDmlABT6NJQVQGHuC5qPQ5EmWsU='; $iv = 'YB6jf1MP+n3OpOr+hiEsmQ=='; $encrypted = 'IbU6hBo8JV+cEfzzHLZnnQ=='; $decrypted = AES::decrypt($encrypted, $key, $iv); $expected = 'Hello World!'; $this->assertEquals($expected, $decrypted, 'decryption works'); }
public function testSymmetricEncryption() { $keyPair1 = ECC::generateKeyPair(); $keyPair2 = ECC::generateKeyPair(); $symmetricKeyA = $keyPair1->calculateSymmetricKey($keyPair2->getPublicKey()); $symmetricKeyB = $keyPair2->calculateSymmetricKey($keyPair1->getPublicKey()); $this->assertEquals($symmetricKeyA, $symmetricKeyB); // if I wanna encrypt data only for myself to see $myKey = $keyPair1->calculateSymmetricKey(); $iv = AES::generateInitializationVector(); $original = 'Hello World!'; $encrypted = AES::encrypt($original, $myKey, $iv); $decrypted = AES::decrypt($encrypted, $myKey, $iv); $this->assertEquals($original, $decrypted, 'encryption works'); }