在CakePHP中,有没有更好的方法来使用AES_DECRYPT?

时间:2014-02-10 20:17:37

标签: mysql cakephp aes cakephp-2.4

我有一些数据存储在使用AES_ENCRYPT加密的表中。我正在使用CakePHP应用程序解密此信息以供使用。目前,我已经使用构建SQL语句并将其存储在$ query中并使用:

$results = $this->query($query);

虽然这有效,但我想知道是否有更多像Cake这样的方法来实现这一点,而无需手动编写SQL查询。

1 个答案:

答案 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执行相同的操作。