我想使用数字,标点符号和字母(小写和大写)生成密码。我可以随机生成这个吗?
答案 0 :(得分:5)
与语言无关的版本,用于翻译成您想要的任何语言:
只需创建一个包含密码合法字符的字符串。
然后在8和14之间生成一个随机数(取决于你的长度要求)。
然后生成0(包括)和len(str)
之间的许多随机数(不包括),并使用它来索引str
以获得一个字符。
像(伪代码):
str = "abc...xyzABC...XYZ0...9,.="
len = rnd(7) + 8 // rnd(n) gives 0 thru n-1
pwd = ""
while len > 0:
pwd = pwd + str[rnd(len(str))]
len = len - 1
这基本上会给你一个所需长度的密码,由所需的字符组成。
答案 1 :(得分:3)
自从你标记iPhone以来,我在目标c中做到了这一点。
NSString *string = @"";
for (int i = 0; i < (arc4random() % 6) + 6; i++)
{
UniChar c = (arc4random() % 89) + 33; //Random char between ! and z
string = [string stringByAppendingString:[NSString stringWithCharacters:&c length:1]];
}
NSLog(@"String:%@", string);
答案 2 :(得分:0)
使用arc4random()
代码并使用arc4random_stir()