如果要更改新密码,如何验证顺序字符串/ int? 例如:
old pass: mypassword1
new pass: mypassword2
然后它将返回false,但如果它是这样的
old pass: mypassword1
new pass: mypassword3
然后它将返回true。
我只尝试使用regEx方法获取新密码。
提前致谢。
答案 0 :(得分:1)
由于您正在处理密码,因此您无法与之前的密码进行比较(它应该安全地进行哈希处理,因此不可逆转)。 PHP有一些关于in the documentation主题的优秀阅读材料。
作为替代方案,您可以生成密码的变体,这些密码可能会破坏您的验证规则,然后查看它们是否匹配。
让我们假设您正在使用密码功能:
$hash = password_hash($password, PASSWORD_DEFAULT);
// AND....
password_verify($password, $hash);
变化可能如下:
$pwd = 'word1';
$num = substr($pwd,-1);
$invalid = false;
$phrase = substr($pwd, 0, -1);
foreach([$num++, $num--] as $variation) {
if(password_verify($phrase.$variation, $hash)) {
// password matches, the user is just incrementing the digit.
$invalid = true;
}
}
因此,如果$invalid
为真,则密码会破坏您的验证规则。
这是不一种傻瓜证明方法。它与您生成无效密码变体的能力一样好。
答案 1 :(得分:1)
试试这个:
label3.Text = dr.GetString(0);