次のコードを使用して文字列を暗号化しています。
$value = 'somevalue';
$key = Configure::read('Security.salt');
$encrypted = Security::cipher($value,$key);
$decrypted = Security::cipher($encrypted,$key);
正常に動作し、正しく暗号化/復号化します。しかし、暗号化された値をデータベースに保存できません。フィールド encrypted_data の値を、データベースのこのフィールドに何もない$encrypted
後に設定します。save()
$encrypted をたとえば「string」に変更すると、「string」が正しく保存され'encrypted_data'
ます。
問題は、暗号化された文字列に、データベースが受け入れない奇妙な文字が含まれている可能性があります-どうすれば修正できますか? (utf-8 で mysql データベースを使用)