Example #1
0
 public function testEncrypt()
 {
     \touch(__DIR__ . '/tmp/paragon_avatar.encrypted.png');
     \chmod(__DIR__ . '/tmp/paragon_avatar.encrypted.png', 0777);
     \touch(__DIR__ . '/tmp/paragon_avatar.decrypted.png');
     \chmod(__DIR__ . '/tmp/paragon_avatar.decrypted.png', 0777);
     $key = new Key(\str_repeat('B', 32));
     File::encryptFile(__DIR__ . '/tmp/paragon_avatar.png', __DIR__ . '/tmp/paragon_avatar.encrypted.png', $key);
     File::decryptFile(__DIR__ . '/tmp/paragon_avatar.encrypted.png', __DIR__ . '/tmp/paragon_avatar.decrypted.png', $key);
     $this->assertEquals(\hash_file('sha256', __DIR__ . '/tmp/paragon_avatar.png'), \hash_file('sha256', __DIR__ . '/tmp/paragon_avatar.decrypted.png'));
 }
Example #2
0
 public function testEncryptFail()
 {
     \touch(__DIR__ . '/tmp/paragon_avatar.encrypt_fail.png');
     \chmod(__DIR__ . '/tmp/paragon_avatar.encrypt_fail.png', 0777);
     \touch(__DIR__ . '/tmp/paragon_avatar.decrypt_fail.png');
     \chmod(__DIR__ . '/tmp/paragon_avatar.decrypt_fail.png', 0777);
     $key = new Key(\str_repeat('B', 32));
     File::encryptFile(__DIR__ . '/tmp/paragon_avatar.png', __DIR__ . '/tmp/paragon_avatar.encrypt_fail.png', $key);
     $fp = \fopen(__DIR__ . '/tmp/paragon_avatar.encrypt_fail.png', 'ab');
     \fwrite($fp, \Sodium\randombytes_buf(1));
     fclose($fp);
     try {
         File::decryptFile(__DIR__ . '/tmp/paragon_avatar.encrypt_fail.png', __DIR__ . '/tmp/paragon_avatar.decrypt_fail.png', $key);
         throw new \Exception('ERROR: THIS SHOULD ALWAYS FAIL');
     } catch (CryptoException\InvalidMessage $e) {
         $this->assertTrue($e instanceof CryptoException\InvalidMessage);
     }
 }
Example #3
0
 public function testEncryptFail()
 {
     \touch(__DIR__ . '/tmp/paragon_avatar.encrypt_fail.png');
     \chmod(__DIR__ . '/tmp/paragon_avatar.encrypt_fail.png', 0777);
     \touch(__DIR__ . '/tmp/paragon_avatar.decrypt_fail.png');
     \chmod(__DIR__ . '/tmp/paragon_avatar.decrypt_fail.png', 0777);
     $key = new EncryptionKey(\str_repeat('B', 32));
     File::encryptFile(__DIR__ . '/tmp/paragon_avatar.png', __DIR__ . '/tmp/paragon_avatar.encrypt_fail.png', $key);
     $fp = \fopen(__DIR__ . '/tmp/paragon_avatar.encrypt_fail.png', 'ab');
     \fwrite($fp, \Sodium\randombytes_buf(1));
     fclose($fp);
     try {
         File::decryptFile(__DIR__ . '/tmp/paragon_avatar.encrypt_fail.png', __DIR__ . '/tmp/paragon_avatar.decrypt_fail.png', $key);
         $this->fail('This should have thrown an InvalidMessage exception!');
     } catch (CryptoException\InvalidMessage $e) {
         $this->assertTrue($e instanceof CryptoException\InvalidMessage);
         \unlink(__DIR__ . '/tmp/paragon_avatar.encrypt_fail.png');
         \unlink(__DIR__ . '/tmp/paragon_avatar.decrypt_fail.png');
     }
 }