0

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

我可以在正则表达式中执行此操作吗?

谢谢。

4

1 回答 1

1

听起来您正在尝试解决Longest Common Substring Problem。不,我不相信正则表达式可以轻松解决问题。

这个 Wikibooks 在http://en.wikibooks.org/wiki/Algorithm_implementation/Strings/Longest_common_substring有一个 C# 解决方案。

这似乎是一个 Java 解决方案,应该很容易适应 C#: http: //karussell.wordpress.com/2011/04/14/longest-common-substring-algorithm-in-java/

编辑注释:评论员所说的关于存储密码的内容。您真的根本不应该存储密码:而是存储密码的加盐密码哈希。不可恢复的密码不会丢失、被盗或误入歧途。

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

于 2013-02-07T18:45:28.837 回答