Android 密钥的随机字符?
我使用以下代码为密钥生成随机字符:Android 密钥的随机字符?,android,Android,我使用以下代码为密钥生成随机字符: int randomNumber; Random randomNumberGenerator = new Random(); randomNumber = randomNumberGenerator.nextInt(26) + 65; if(passkey.length() != 20){ while (passkey.length() != 20){ passkey += (char)randomNumber; r
int randomNumber;
Random randomNumberGenerator = new Random();
randomNumber = randomNumberGenerator.nextInt(26) + 65;
if(passkey.length() != 20){
while (passkey.length() != 20){
passkey += (char)randomNumber;
randomNumber = randomNumber + 5;
}
}
在代码中,有时我会添加5或1等
如何使随机字符为数字或字母数字而不是任何标点符号?将要使用的字符放入字符串中,并在字符串中选择随机位置。这样,您还可以排除容易混淆的字符,如O和0。将要使用的字符放入字符串中,并在字符串中选择随机位置。这样,您还可以排除容易混淆的字符,如O和0。请看一个示例。您将看到数字对应于整数48-57,大写字母对应于整数65-90,小写字母对应于字母97-122注意:所有数字都以10为底 在这些范围之间有一些差距,即58-64和91-96。您需要更改randomNumber的计算,使其介于48和122之间,同时排除这些范围 似乎更合适;我建议这样做。为了完整起见,我将把这个答案保留在这里。看一看。您将看到数字对应于整数48-57,大写字母对应于整数65-90,小写字母对应于字母97-122注意:所有数字都以10为底 在这些范围之间有一些差距,即58-64和91-96。您需要更改randomNumber的计算,使其介于48和122之间,同时排除这些范围 似乎更合适;我建议这样做。为了完整起见,我将把这个答案保留在这里。使用以下代码 创建没有任何特殊字符的随机数 谢谢 Deepak使用以下代码 创建没有任何特殊字符的随机数 谢谢 迪帕克
private String generateRandomID(){
final int ID_SIZE = 16;
final int NUM_OF_CHARS = 62;
StringBuffer id = new StringBuffer();
long now = new Date().getTime();
// Set the new Seed as current timestamp
Random r = new Random(now);
int index = 0;
int x = 0;
while(x < ID_SIZE){
index = r.nextInt(NUM_OF_CHARS);
System.out.println("Index="+ index);
if(index < 10){
id.append((char)(48 + index));
}
else if(10 <= index && index <36){
index = index - 10;
id.append((char)(65 + index));
}else{
index = index - 36;
id.append((char)(97 + index));
}
x++;
}
return id.toString();
}