【发布时间】:2019-08-03 21:52:46
【问题描述】:
我正在寻找一种方法来加密数据库中的用户电子邮件。由于 Encrypt 总是生成不同的字符串,因此它会失败。 所以我拿了sha1。
在 AuthenticatesUsers 中,我已将凭据方法更改为:
protected function credentials(Request $request)
{
return ['email' => sha1(strtolower($request->email)), 'password' => ($request->password)];
}
这非常适合登录/注册。但是重置密码有问题。
重置密码使用 SendsPasswordResetEmails 特征。
这里有这个凭证方法:
protected function credentials(Request $request)
{
return $request->only('email');
}
这总是失败,因为它没有找到用户(因为用户是用 sha1 电子邮件保存的)
如果我把它改成return ['email' => sha1(strtolower($request['email']))];
我收到错误消息,即电子邮件未采用正确的 RFC 标准,无法发送电子邮件。问题是,我真的找不到 laravel 用这封电子邮件搜索用户的地方。无论如何,我真的不知道如何解决这个问题。
我想加密电子邮件本身,因为在德国有一项法律强制我们存储加密的个人数据,例如电子邮件。
【问题讨论】:
标签: laravel laravel-5 encryption