モデルに beforeSave および afterFind 関数があります。関数は文字列を正常に暗号化および復号化します。
public function beforeSave($options = array()) {
foreach($this->encryptedFields as $fieldName){
if(!empty($this->data[$this->alias][$fieldName])){
$this->data[$this->alias][$fieldName] = Security::rijndael($this->data[$this->alias][$fieldName], Configure::read('Security.key'), 'encrypt');
}
}
return true;
}
しかし。私がこれをしたら
$mobileno = 1234
$mobile = Security::rijndael($mobileNo, Configure::read('Security.key'), 'encrypt');
次に、たとえば次のようなクエリを実行します。
select * from table where mobileno = $mobileno;
私は結果を得ることができません。今、mobileno
私が上記で暗号化しているのは、データベースにある暗号化された携帯電話番号とは異なるためです。