Данные модели шифрования / дешифрования Laravel - PullRequest
0 голосов
/ 28 июня 2018

Я работаю над новым проектом, в котором хранится информация о гостях. В целях безопасности я подумал, что было бы здорово хранить все личные данные в базе данных с шифрованием. Есть ли какой-то конкретный рабочий процесс для этого. По сути, установка шифрования на определенных полях модели и обеспечение того, чтобы все просто работало. Думая об этом, я чувствую, что это не так просто, но я подумал, что брошу это туда.

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Это на самом деле довольно просто в 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);
}
0 голосов
/ 28 июня 2018

Вы можете использовать аксессоры и мутаторы. Они будут зашифровывать данные, когда вы сохраняете данные, и расшифровывать их, когда вы извлекаете их самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...