1. Go to this page and download the library: Download ilicmiljan/secure-props library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ilicmiljan / secure-props example snippets
use IlicMiljan\SecureProps\Attribute\Encrypted;
class User
{
#[Encrypted(placeholder: "***-**-****")]
private string $socialSecurityNumber;
#[Encrypted]
private string $secretNote;
}
use IlicMiljan\SecureProps\ObjectEncryptionService;
use IlicMiljan\SecureProps\Cipher\AdvancedEncryptionStandardCipher;
// Create a cipher instance (AES in this example)
$cipher = new AdvancedEncryptionStandardCipher('256-BIT-KEY-HERE');
// Initialize the encryption service with a runtime object properties reader
$encryptionService = new ObjectEncryptionService($cipher, new RuntimeObjectPropertiesReader());
$user = new User();
$user->setSocialSecurityNumber('123-45-6789');
// Encrypt properties
$encryptedUser = $encryptionService->encrypt($user);
// Decrypt properties
$decryptedUser = $encryptionService->decrypt($encryptedUser);
use IlicMiljan\SecureProps\Cipher\AsymmetricEncryptionCipher;
$cipher = new AsymmetricEncryptionCipher($publicKey, $privateKey);
// Then, pass this cipher to the ObjectEncryptionService as shown above.
// Initialize the base cipher with AES encryption.
// Optionally, attach a NullEncoder to prevent data double-encoding. Useful when
// the decorator cipher (e.g., TagAwareCipher) applies its own encoding.
$baseCipher = new AdvancedEncryptionStandardCipher('256-BIT-KEY-HERE', new NullEncoder());
// Initialize TagAwareCipher with your base cipher and an optional custom encoder.
$cipher = new TagAwareCipher($baseCipher, new Base64Encoder());
// Initialize the encryption service with a runtime object properties reader.
$encryptionService = new ObjectEncryptionService($cipher, new RuntimeObjectPropertiesReader());
$user = new User();
$user->setSocialSecurityNumber('123-45-6789');
// Encrypt properties
$encryptedUser = $encryptionService->encrypt($user);
// Decrypt properties
$decryptedUser = $encryptionService->decrypt($encryptedUser);
// Initialize a PSR-6 cache pool
$cache = new FilesystemAdapter(...);
// Configure the caching reader
$reader = new CachingObjectPropertiesReader(
new RuntimeObjectPropertiesReader(),
new CacheItemPoolAdapter($cache)
);
// Set up the ObjectEncryptionService with the reader
$encryptionService = new ObjectEncryptionService($cipher, $reader);
// Preventing double-encoding by using NullEncoder with the base cipher
$cipher = new AdvancedEncryptionStandardCipher('256-BIT-KEY-HERE', new NullEncoder());
// Initializing the encryption service with the configured cipher and property reader
$encryptionService = new ObjectEncryptionService($cipher, new RuntimeObjectPropertiesReader());
// Example of encrypting and decrypting user data
$user = new User();
$user->setSocialSecurityNumber('123-45-6789');
// Encrypt properties. The operation returns a string that is not binary-safe,
// and may
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.