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:

Antworten auf die Frage(2)

Ihre Antwort auf die Frage