By andriyun on
Change record status:
Published (View all published change records)
Project:
Introduced in branch:
7.x-1.x
Issue links:
Description:
This hook provide ability for developers to reencrypt data when aes configuration changed.
Implementation example
/**
* Implements hook_aes_config_change().
*/
function aes_aes_config_change($decrypt_params, $encrypt_params) {
// Re encrypt user paswords.
$accounts = db_select('aes_passwords', 'p')
->fields('p', array('uid', 'pass'))
->condition('uid', 0, '!=')
->execute()
->fetchAll();
foreach ($accounts as $account) {
$decrypt_params['string'] = $account->pass;
$plain_pass = call_user_func_array('aes_decrypt', $decrypt_params);
$encrypt_params['string'] = $plain_pass;
$new_pass = call_user_func_array('aes_encrypt', $encrypt_params);
db_update('aes_passwords')
->fields(array('pass' => $new_pass))
->where("uid = :uid", array(
':uid' => $account->uid,
))
->execute();
}
if (count($accounts)) {
drupal_set_message(t("Updated the passwords of @updates_num users because of a change in encryption settings.", array('@updates_num' => count($accounts))));
}
}
Impacts:
Module developers