Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 密码要求字段的正则表达式_C#_Asp.net_Regex_Vb.net - Fatal编程技术网

C# 密码要求字段的正则表达式

C# 密码要求字段的正则表达式,c#,asp.net,regex,vb.net,C#,Asp.net,Regex,Vb.net,我为asp.net中的用户设置了密码要求更改框。 我试图编写一个正则表达式,其中旧密码的四个字符不应与C#中新密码字符串的四个字符相同。如果它们相同,则代码应返回false 我可以在正则表达式中这样做吗 谢谢。听起来你想解决这个问题。不,我不相信正则表达式能轻易解决这个问题 这本维基百科有一个C#解决方案 这似乎是一个Java解决方案,应该很容易适应C: 编辑注释:评论员关于存储密码的评论。您真的不应该存储密码:而是存储密码的加密散列。不可恢复的密码不能丢失、被盗或丢失 判断系统安全性的一个好方

我为asp.net中的用户设置了密码要求更改框。 我试图编写一个正则表达式,其中旧密码的四个字符不应与C#中新密码字符串的四个字符相同。如果它们相同,则代码应返回false

我可以在正则表达式中这样做吗


谢谢。

听起来你想解决这个问题。不,我不相信正则表达式能轻易解决这个问题

这本维基百科有一个C#解决方案

这似乎是一个Java解决方案,应该很容易适应C:

编辑注释:评论员关于存储密码的评论。您真的不应该存储密码:而是存储密码的加密散列。不可恢复的密码不能丢失、被盗或丢失


判断系统安全性的一个好方法是查看是否可以恢复密码(而不是创建密码)。如果您可以恢复,他们正在以一种可能会被破坏的方式存储您的凭据。

您是指4个连续字符吗?我希望您不是以纯文本形式存储原始密码。+1表示SLaks。永远不要将密码存储为纯文本。曾经用盐腌的土豆条。与新密码不能“与旧密码的四个字符相同”(无论这意味着什么)不同,新密码不能产生与旧密码相同的哈希值。因此,如果以前的密码是
dec123
,您想阻止
abc123
?您甚至不能检查新密码是否包含旧密码的一部分。您可以检查其密码是否相同,因为在一段时间内,您仍然可以访问
当前
密码,但您不应该同时存储这两个密码。你想要的是一个可怕的主意,请不要这样做。