Decrypt und Encrypt mithilfe von CallBack-Methoden in cakephp
Ich möchte die Callbacks-Methoden verwenden, um einen Wert zu verschlüsseln, bevor er in meiner Datenbank gespeichert wird, und ihn zu entschlüsseln, bevor er wieder in der Anwendung angezeigt wird.
Ich habe eines der Beispiele aus dem @ verwendeDokumentatio.
In meinemcore.php
Ich habe folgendes gesagt:
Configure::write('Security.cipherCriptKey','su0HKssPmdbwgK6LdQLqzp0YmyaTI7zO');
n meinem Modell habe ich zwei Methoden verwende
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;
}
}
DasbeforeSave()
scheint gut zu funktionieren, da ich in meiner Datenbank den Wert verschlüsselt sehen kann. Allerdings aus meiner Sicht und wenn ich den Inhalt des Feldes sehen möchte entschlüsselt wird als leeres Feld angezeigt. Als ob dasafterFind()
-Methode kann es nicht wieder entschlüsseln (es wird immer false zurückgegeben).
Below ist ein Screenshot der Ansicht meiner Anwendung:
Und Datenbank mit den Werten verschlüsselt: