我有一个pinNumber值。如何掩盖它(即)说我的pinNumber是否为1234并用四个星号符号掩盖它而不是显示数字。此屏蔽值将使用jsp显示在网页中。
答案 0 :(得分:2)
<input type="PASSWORD" name="password">
如果您要在标签上显示密码,只需显示5或6个星号字符,因为您不希望通过使用密码长度标记该标签的长度来提供线索。
答案 1 :(得分:2)
在代码中的某个时刻,您会将数字转换为字符串以供显示。 此时,您可以简单地调用String的replaceAll方法将0-9中的所有字符替换为* character:
s.replaceAll("[0-9]", "*")
嗯 - 这就是你直接用Java做的。在JSP中,如果您在输入中选择“密码”类型,则会像其他海报所示那样照顾您。
答案 2 :(得分:0)
您可以像这样创建表单
<form action="something" method="post">
pinNumber:<input type="password" name="pass"/>
<input type="submit" value="OK"/>
</form>
然后它将更改为 *
答案 3 :(得分:0)
此代码可能会对您有所帮助。
class Password {
final String password; // the string to mask
Password(String password) { this.password = password; } // needs null protection
// allow this to be equal to any string
// reconsider this approach if adding it to a map or something?
public boolean equals(Object o) {
return password.equals(o);
}
// we don't need anything special that the string doesnt
public int hashCode() { return password.hashCode(); }
// send stars if anyone asks to see the string - consider sending just
// "******" instead of the length, that way you don't reveal the password's length
// which might be protected information
public String toString() {
StringBuilder sb = new StringBuilder();
for(int i = 0; < password.length(); i++)
sb.append("*");
return sb.toString();
}
}
答案 4 :(得分:0)
我在我的许多应用程序中使用以下代码,它运行良好。
public class Test {
public static void main(String[] args) {
String number = "1234";
StringBuffer maskValue = new StringBuffer();
if(number != null && number.length() >0){
for (int i = 0; i < number.length(); i++) {
maskValue.append("*");
}
}
System.out.println("Masked Value of 1234 is "+maskValue);
}
}
Ans - Masked Value of 1234 is ****
答案 5 :(得分:0)
两种方式(这将掩盖所有字符,而不仅仅是数字):
private String mask(String value) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < value.length(); sb.append("*"), i++);
return sb.toString();
}
或:
private String mask(String value) {
return value.replaceAll(".", "*");
}
我使用第二个
答案 6 :(得分:0)
使用@Mask 注释。
@Mask(prefixNoMaskLen = 3, maskStr = "*", suffixNoMaskLen = 3) private String mobileNumber;
这将屏蔽从 987654321 到 987****321 的手机号码