Did you solve this problem? It tried http://stackoverflow.com/questions/32260229/encyption-decryption-of-form-fields-in-cakephp-3 but still no luck (return Resource Id #???). New app will be in ver 2.x or in other framework...
W dniu niedziela, 23 sierpnia 2015 23:13:34 UTC+2 użytkownik Alexander Slotty napisał:
-- W dniu niedziela, 23 sierpnia 2015 23:13:34 UTC+2 użytkownik Alexander Slotty napisał:
Hello,
I was hoping someone could help with my task. It should be "relatively" simple: I want to have some form-fields encrypted when they are added/edited and decrypted when they are looked up by cake.
Here is the code that works for me in v2.7.2:
core.php:Configure::write('Security.key' ,'secretkey');
app/Model/Patient.php:public $encryptedFields = array('patient_surname', 'patient_first_name');
public function beforeSave($options = array()) {
foreach($this->encryptedFields as $fieldName){
if(!empty($this->data[$this->alias ][$fieldName])){
$this->data[$this->alias][$fieldName ] = Security::encrypt(
$this->data[$this->alias][$fieldName ],
Configure::read('Security.key')
);
}
}
return true;
}
public function afterFind($results, $primary = false) {
foreach ($results as $key => $val) {
foreach($this->encryptedFields as $fieldName) {
if (@is_array($results[$key][$this ->alias])) {
$results[$key][$this->alias][$fieldName ] = Security::decrypt(
$results[$key][$this->alias][$fieldName ],
Configure::read('Security.key')
);
}
}
}
return $results;
}
As I understand it I have to replace $this->data[] with the generated entities for the model and the afterFind method with virtual fields, but I just can't put it all together.
Thanks for any pointers
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment