我正在提出的申请要求是加密所有用户数据(电子邮件,地址,出生日期等)。所以,我使用了一个像here那样的特征。但是,这会在查询下面的数据时出现问题。
$user = User::where("email", "=", $email);
由于我正在搜索加密数据,因此上述查询无法按预期工作。
我想到的一个相当天真的解决方案是在查询之前解密整个数据集
$data = User::all();
$cnt = count($data);
for($i=0; $i<$cnt; $i++){/* decrypt record i */}
但这是非常不切实际和昂贵的。这个问题有更好的解决方案吗?
答案 0 :(得分:0)
多数民众赞成在您的数据库中,您存储加密的电子邮件吗?
只是像这样查询..
$user = User::where("email", Crypt::decrypt($email));
echo Crypt::decrypt($user->email); //result
答案 1 :(得分:0)
不是。如果该列中的值是加密的,并且您解密了一个我认为是纯文本的变量-但让我们假设它也是加密的..您将数据库中的加密值与解密值进行比较是没有意义的。