Descifrar y cifrar utilizando métodos CallBack en cakephp

Quiero usar los métodos Callbacks para cifrar un valor antes de que se almacene en mi base de datos y descifrarlo antes de mostrarlo nuevamente en la aplicación.

Usé uno de los ejemplos proporcionados en eldocumentación.

En micore.php Pongo lo siguiente:

Configure::write('Security.cipherCriptKey','su0HKssPmdbwgK6LdQLqzp0YmyaTI7zO');

En mi modelo, utilicé dos métodos:

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;
    }        
}

losbeforeSave() parece estar funcionando bien, ya que puedo ver en mi base de datos el valor cifrado. Sin embargo, en mi opinión, y cuando me gustaría ver el contenido del campodescifrado, lo muestra como un campo vacío. Como si elafterFind() El método no puede descifrarlo de nuevo (devuelve siempre falso).

A continuación se muestra una captura de pantalla de la vista de mi aplicación:

Y base de datos con los valores cifrados:

Respuestas a la pregunta(1)

Su respuesta a la pregunta