如何验证从 Laravel 中的 Python 脚本发布的 MD5 哈希
How to Validate a MD5 Hash Being Posted From a Python Script in Laravel
好的,所以我有一个 python 脚本,如果提供的登录失败,它将在 Laravel 中注册一个新用户。在 python 脚本中,我传递了以下内容:
import hashlib
import strftime
hashedMessage = hashlib.md5()
hashedMessage.update("Password"+strftime("%m/%d/%Y-%H:%M"))
这将创建这样的散列消息:
Password+07/12/2018-3:01
所以现在在 Laravel 中,我需要能够在允许脚本注册新用户之前验证此哈希是否有效。
我对 Laravel 中的内置验证器有点陌生,不确定如何在其中生成散列消息。我知道就日期和时间部分而言,我可以使用诸如 Carbon 之类的东西。但我不确定如何在 Laravel 中生成散列消息并将其与脚本发送的消息进行比较。
我看到 Laravel 对 bcrypt 有更好的支持,但它似乎使我试图完成的简单任务变得更加复杂。如果不是这种情况,请告诉我。
如果您有任何问题,请告诉我。
对于 md5,您可以做一些简单的事情:
if (request()->input('hashed_message') === md5('Password+' . now()->format('m/d/Y-H:m'))) {
// match
}
但是,如果请求是在分钟边界发送的,即在 3:01:59 发送但在 3:02:00 收到,这将失败。
好的,所以我有一个 python 脚本,如果提供的登录失败,它将在 Laravel 中注册一个新用户。在 python 脚本中,我传递了以下内容:
import hashlib
import strftime
hashedMessage = hashlib.md5()
hashedMessage.update("Password"+strftime("%m/%d/%Y-%H:%M"))
这将创建这样的散列消息:
Password+07/12/2018-3:01
所以现在在 Laravel 中,我需要能够在允许脚本注册新用户之前验证此哈希是否有效。
我对 Laravel 中的内置验证器有点陌生,不确定如何在其中生成散列消息。我知道就日期和时间部分而言,我可以使用诸如 Carbon 之类的东西。但我不确定如何在 Laravel 中生成散列消息并将其与脚本发送的消息进行比较。
我看到 Laravel 对 bcrypt 有更好的支持,但它似乎使我试图完成的简单任务变得更加复杂。如果不是这种情况,请告诉我。
如果您有任何问题,请告诉我。
对于 md5,您可以做一些简单的事情:
if (request()->input('hashed_message') === md5('Password+' . now()->format('m/d/Y-H:m'))) {
// match
}
但是,如果请求是在分钟边界发送的,即在 3:01:59 发送但在 3:02:00 收到,这将失败。