Laravel加密/解密模型数​​据

时间:2018-06-28 13:58:46

标签: php mysql laravel laravel-5

我正在研究一个存储来宾信息的新项目。为了安全起见,我认为通过加密将所有个人数据存储在数据库中会很酷。有没有执行此操作的特定工作流程。本质上是在某些“模型”字段上设置加密,并使一切正常进行。考虑一下,我觉得它不是那么简单,但我想我会把它扔在那里。

2 个答案:

答案 0 :(得分:1)

在Laravel中,这实际上非常简单。您只需确保您的访问器和更改器(用于要加密的属性)使用加密。

更多有关访问器和更改器的信息:https://laravel.com/docs/5.6/eloquent-mutators

例如,如果要加密模型的属性电子邮件,请添加以下内容:

//mutator
public function setEmailAttribute($value)
{

    $this->attributes['email'] = Crypt::encrypt($value);

}


//accessor

public function getNameFirstAttribute($value)
{
    if (is_null($value)) {

        return $value;

    }

    return Crypt::decrypt($value);
}

答案 1 :(得分:0)

您可以使用访问器和变异器。当您存储数据时,它们将对数据进行加密,而当您单独获取时,它们将对其解密。