【发布时间】:2012-04-15 06:49:16
【问题描述】:
我有一些当前检查最小和最大长度的代码。我还想要求大写、小写、特殊字符和数字。关于添加什么或在哪里可以找到一些示例的任何建议?我一直在谷歌搜索和浏览这个论坛,并一直在尝试添加额外的密码要求,但没有成功。
这是我想要的。
长度至少为八个字符 长度不超过 20 个字符 至少小写字母和一个大写字母 至少有一个特殊字符来自:!@#$%^&*()~`-=_+[]{}|:";',./? 至少一个数字 [0-9] 字符 无法匹配帐户登录名或电子邮件地址
我当前的密码验证码
public static final int MIN_PASSWORD_LENGTH = 8;
public static final int MAX_PASSWORD_LENGTH = 20;
public static boolean isAcceptablePassword(String password)
{
if(TextUtils.isEmpty(password))
return false;
int len = password.length();
if(len < MIN_PASSWORD_LENGTH || len > MAX_PASSWORD_LENGTH)
return false;
for(int i = 0; i < len; i++)
{
char c = password.charAt(i);
if (Character.isWhitespace(c))
return false;
}
return true;
}
【问题讨论】:
-
那么你为什么不直接实现你的需求呢?
-
?正如我已经提到的,我尝试过但没有成功。我该如何实现?我是网页设计师,不是 Java 程序员,但我正在尝试编辑一些代码以满足新的需求。
-
顺便说一句:这可能看起来违反直觉,但对密码添加更多限制实际上会降低安全性,因为人们倾向于输入 Capitalisedword1! 形式的密码。只需设置至少 8 个字符的长度即可。
-
@rick - “我是网页设计师,不是 Java 程序员” - 你要么需要提高 Java 编程技能,要么找一个可以分包任务的 Java 程序员像这样到。现在,这个问题听起来像是你希望别人为你做你的工作......免费。这不是 SO 的目的。
标签: java validation passwords