我在asp.net中为用户设置了密码要求更改框。 我正在尝试编写一个正则表达式,其中旧passoword的四个字符不应与C#中新密码字符串的四个字符相同。如果代码相同,则代码应返回false。
我可以在正则表达式中执行此操作。
感谢。
答案 0 :(得分: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/
编辑注:评论员关于存储密码的内容。你根本不应该存储密码:而是存储密码的盐渍加密哈希值。不可恢复的密码不会丢失,被盗或误入歧途。
判断系统安全性的最佳尝试是查看您是否可以恢复密码(而不是创建密码)。如果您可以恢复它,它们将以可能受到危害的方式存储您的凭据。