Home > Developer Guide > Hooks > Uncategorized Hooks
hook_civicrm_crypto
Summary
This hook was added in 5.33 and allows for extension authors to define more keys and ciphers that are then used in the Crypto Registry.
Definition
hook_civicrm_crypto($registry)
Parameters
$registry
(@param \Civi\Crypto\CryptoRegistry
) - TheCryptoRegistry
tracks a list of keys and ciphers.
Returns
- null - the return value is ignored
Example
Add a new key
function civitest_civicrm_crypto($registry) {
$registry->addSymmetricKey([
'key' => hash_hkdf('sha256', 'abcd1234'),
'suite' => 'aes-cbc-hs',
]);
}
Add new keys and tag them for use in some encryption-decryption process
// Register some keys. Tag them as 'SESSION'.
function civitest_civicrm_crypto($registry) {
$registry->addSymmetricKey([
'key' => '12345678901234567890123456789012',
'suite' => 'aes-cbc-hs',
'tags' => ['SESSION'],
'weight' => -1, // Preferred for new encrypting new values
]);
$registry->addSymmetricKey([
'key' => 'abcdefghijklmnopqrstuvwxyz123456',
'suite' => 'aes-cbc-hs',
'tags' => ['SESSION'],
'weight' => 10, // Available for decrypting old values
]);
}