我正在使用以下代码来加密一些字符串:
$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 数据库)