ncc/tests/third_party/php-encryption/encryption_decryption.php
2022-06-26 10:03:59 -04:00

28 lines
984 B
PHP

<?php
require(__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'autoload.php');
print('Generating new random key' . PHP_EOL);
$key = \ncc\Defuse\Crypto\Key::createNewRandomKey();
$ascii_key = $key->saveToAsciiSafeString();
print('Key: ' . $ascii_key . PHP_EOL);
print('Encrypting message \'Hello NCC!\' as raw binary' . PHP_EOL);
$encrypted_message = \ncc\Defuse\Crypto\Crypto::encrypt('Hello NCC!', $key, true);
print('Encrypted Message: ' . $encrypted_message . PHP_EOL);
print('Decrypting message' . PHP_EOL);
$decrypted_message = \ncc\Defuse\Crypto\Crypto::decrypt($encrypted_message, $key, true);
print('Decrypted Message: ' . $decrypted_message . PHP_EOL);
if(hash('md5', 'Hello NCC!') == hash('md5', $decrypted_message))
{
print('Encryption/Decryption test successful' . PHP_EOL);
}
else
{
print('Encryption/Decryption test fail' . PHP_EOL);
}