Запрос зашифрованных данных модели в Laravel
Требование приложения, которое я делаю, состоит в том, чтобы все пользовательские данные (электронные письма, адреса, дата рождения и т. Д.) Были зашифрованы. Итак, я использую черту, подобную той, что найдена здесь. Это, однако, вызывает проблему при запросе данных, как показано ниже.
$user = User::where("email", "=", $email);
Поскольку я ищу зашифрованные данные, приведенный выше запрос не будет работать должным образом.
Довольно наивное решение, о котором я подумал, состоит в том, чтобы расшифровать весь набор данных, прежде чем запрашивать вот так
$data = User::all();
$cnt = count($data);
for($i=0; $i<$cnt; $i++){/* decrypt record i */}
Но это очень непрактично и дорого. Есть ли лучшее решение этой проблемы?
2
1 answers
Это означает, что в вашей бд вы храните зашифрованную электронную почту, верно?
Просто запросите вот так..
$user = User::where("email", Crypt::decrypt($email));
echo Crypt::decrypt($user->email); //result
0
Author: ZeroOne, 2018-04-01 07:07:59