我有一些数据存储在使用AES_ENCRYPT加密的表中。我正在使用CakePHP应用程序解密此信息以供使用。目前,我已经使用构建SQL语句并将其存储在$ query中并使用:
$results = $this->query($query);
虽然这有效,但我想知道是否有更多像Cake这样的方法来实现这一点,而无需手动编写SQL查询。
答案 0 :(得分:0)
在你的afterFind方法中添加这样的东西:
function afterFind($results, $primary = false) {
if($primary == true){
foreach($results as $resultKey => $resultValue) {
$results[$resultKey][$this->alias]['decrypted'] = Security::decrypt ( $results[$resultKey][$this->alias]['encrypted'], $key, $hmacSalt );
}
}
return $results;
}
以下是documentation for the AES decryption routines.
或者,您可以使用virtual field执行相同的操作。