Расшифруйте и зашифруйте, используя методы CallBack в cakephp
Я хочу использовать методы Callbacks, чтобы зашифровать значение, прежде чем оно будет сохранено в моей базе данных, и расшифровать его, прежде чем отобразить обратно в приложении.
Я использовал один из примеров, представленных вдокументация.
В моемcore.php
Я поставил следующее:
Configure::write('Security.cipherCriptKey','su0HKssPmdbwgK6LdQLqzp0YmyaTI7zO');
В моей модели я использовал два метода:
beforeSave()
public function beforeSave($options = array()) {
$value=$this->data['Internship']['encryptedindb'];
$encrypted = Security::encrypt($value, Configure::read('Security.cipherCriptKey'));
$this->data['Internship']['encryptedindb'] = $encrypted;
return true;
}
afterFind()
public function afterFind($results, $primary = false) {
foreach ($results as $key => $val) {
if(isset($val['Internship']['encryptedindb'])){
$results['Internship']['encryptedindb'] = Security::decrypt($val['Internship']['encryptedindb'], Configure::read('Security.cipherCriptKey'));
}
return $results;
}
}
beforeSave()
кажется, работает нормально, так как я вижу в своей базе данных значение в зашифрованном виде. Тем не менее, на мой взгляд, и когда я хотел бы видеть содержание полярасшифрованный, он отображает это как пустое поле. Как будтоafterFind()
Метод не может расшифровать его обратно (он всегда возвращает false).
Ниже приведен скриншот представления моего приложения:
И база данных со значениями в зашифрованном виде: