我正在我的项目中重置自定义密码,我不太确定Laravel Crypt function在这种情况下是否是一个很好的解决方案 . 我没有使用Hash:make函数,因为它将斜杠放入哈希标记中,因此路径有点搞砸了 .

我现在正在做的是:

  • 用户通过电子邮件重置表单

  • 我使用Crypt :: encrypt()构建一个链接,并将加密的令牌,email和created_at存储在数据库password_resets中

  • 点击链接后,我检查用户电子邮件password_resets,比较数据库和网址中的令牌,尝试加密令牌 .

示例链接:

HTTP://本地主机:8000 / AUTH / RESET /密码token=eyJpdiI6IjN2RUdiVnlLNGcraFVPV2tzMGRwN2c9PSIsInZhbHVlIjoiUWRyOFR5Y0x5SXRKVURTRFUySmZBZz09IiwibWFjIjoiYzlhOWM3ZDUyMjhmYjExY2I2ZGVlZGQ0OTNjY2ZkNTkwMzA0OTU0Mjk4M2JlODJhMmMxN2RlNTY4ZGM5NmFiNCJ9&email=example@example.com”

使用此功能的令牌非常大我也不确定我是否正在做这一切 .

我应该在散列或加密之前将url令牌存储到数据库或令牌中吗?