【发布时间】:2021-06-29 21:08:00
【问题描述】:
这是Yii2密码哈希验证部分原代码。
if (!preg_match('/^\$2[axy]\$(\d\d)\$[\.\/0-9A-Za-z]{22}/', $hash, $matches)
|| $matches[1] < 4
|| $matches[1] > 30
) {
throw new InvalidArgumentException('Hash is invalid.');
}
例如密码:12345678
密码哈希:$2y$13$JLD4tOba6KmwkXZFeRB9FufjVTQlmjmQkjwRzAR59/Rp1RK4bF7dO
对于我的项目,根据客户要求,我通过 sha256 对密码进行哈希处理。
例如密码:12345678
密码哈希:ef797c8118f02dfb649607dd5d3f8c7623048c9c063d532cc95c5ed7a898a64f
谁能给我提供哈希验证的正则表达式代码?
【问题讨论】:
-
~^\$2[axy]\$(\d\d)\$[./\dA-Za-z]{22,}$~应该适合您。请澄清什么不起作用 -
谢谢。变量 $matches 呢?
-
这将使用捕获 grup 填充,因此对于提供的示例 $matches[1]` 将等于
13
标签: regex validation yii2 passwords