在eloquent中使用MYSQL AES_DECRYPT函数?

时间:2018-04-16 13:20:55

标签: mysql laravel orm eloquent slim

我正在使用带有雄辩的ORM的Slim Framework进行数据库操作,我希望将加密数据存储在数据库(MYSQL)中,以减少特定表的列数。

我在eloquent模型中尝试过使用AES_ENCRYPT,它可以很好地存储数据,例如,

class MyDataModel extends Model {

    public function setProcessDataAttribute($value)
    {
        $this->attributes['process_data'] = 
            DB::raw("AES_ENCRYPT('".$value."', '12345')");
    }

}

现在,我想用MYSQL函数AES_DECRYPT解密,有没有办法在eloquent模型中使用MYSQL函数?

我不知道如何在模型中覆盖find,get方法。

1 个答案:

答案 0 :(得分:0)

在laravel 5中,建议使用他的AES加密:

$newEncrypter = new \Illuminate\Encryption\Encrypter('your key or app_key@env', config('app.cipher') );
$decrypted = $newEncrypter->decrypt('your encrypted data');