gpt4 book ai didi

java - JAVA/ATG中需要检查密码是否包含与UserName相同的字符序列

转载 作者:行者123 更新时间:2023-11-29 09:29:19 26 4
gpt4 key购买 nike

我正在从事 ATG 项目。我的要求是“密码不应包含与用户名中相同的字符序列”。例如。如果用户名是 abcdef@123.com。那么pw不应该是def@123.compw 不应包含相同的字符序列。它可以包含 userName 中的字符。但字符的顺序/序列不应相同。

我该如何检查?

谢谢,特里萨

最佳答案

您可以执行以下操作来检查密码是否包含用户名的任何序列:

public Boolean containsSequences(String uname, String pwd){
Boolean contains=false;
int count=0;
for (String seq: uname.split("/[\@\-\.\_]/g")){ //split the username following this regex.
if(pwd.indexOf(seq)>0){
count++;
}
}
if(count>0){
contains=true;
}
return contains;
}

此方法以两个字符串(用户名和密码)作为输入,然后获取用户名的子序列并测试密码是否包含其中之一,如果是则返回 true 表示pwd 包含一系列用户名。

或者你可以做得更好:

 public Boolean containsSequences(String uname, String pwd){
Boolean contains=false;
for (String seq: uname.split("/[\@\-\.\_]/g")){
if(pwd.contains(seq)|| pwd.contains(seq.toUpperCase())|| pwd.contains(seq.toLowerCase())){
contains=true;
break;
}
}
return contains;
}

关于java - JAVA/ATG中需要检查密码是否包含与UserName相同的字符序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28761643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com