C# 密码要求字段的正则表达式
我为asp.net中的用户设置了密码要求更改框。 我试图编写一个正则表达式,其中旧密码的四个字符不应与C#中新密码字符串的四个字符相同。如果它们相同,则代码应返回false 我可以在正则表达式中这样做吗C# 密码要求字段的正则表达式,c#,asp.net,regex,vb.net,C#,Asp.net,Regex,Vb.net,我为asp.net中的用户设置了密码要求更改框。 我试图编写一个正则表达式,其中旧密码的四个字符不应与C#中新密码字符串的四个字符相同。如果它们相同,则代码应返回false 我可以在正则表达式中这样做吗 谢谢。听起来你想解决这个问题。不,我不相信正则表达式能轻易解决这个问题 这本维基百科有一个C#解决方案 这似乎是一个Java解决方案,应该很容易适应C: 编辑注释:评论员关于存储密码的评论。您真的不应该存储密码:而是存储密码的加密散列。不可恢复的密码不能丢失、被盗或丢失 判断系统安全性的一个好方
谢谢。听起来你想解决这个问题。不,我不相信正则表达式能轻易解决这个问题 这本维基百科有一个C#解决方案 这似乎是一个Java解决方案,应该很容易适应C: 编辑注释:评论员关于存储密码的评论。您真的不应该存储密码:而是存储密码的加密散列。不可恢复的密码不能丢失、被盗或丢失
判断系统安全性的一个好方法是查看是否可以恢复密码(而不是创建密码)。如果您可以恢复,他们正在以一种可能会被破坏的方式存储您的凭据。您是指4个连续字符吗?我希望您不是以纯文本形式存储原始密码。+1表示SLaks。永远不要将密码存储为纯文本。曾经用盐腌的土豆条。与新密码不能“与旧密码的四个字符相同”(无论这意味着什么)不同,新密码不能产生与旧密码相同的哈希值。因此,如果以前的密码是
dec123
,您想阻止abc123
?您甚至不能检查新密码是否包含旧密码的一部分。您可以检查其密码是否相同,因为在一段时间内,您仍然可以访问当前
和新
密码,但您不应该同时存储这两个密码。你想要的是一个可怕的主意,请不要这样做。