我想使用数字、标点符号和字母(小写和大写)生成密码。我怎样才能随机生成呢?
问问题
699 次
3 回答
5
与语言无关的版本,用于翻译成您想要的任何语言:
只需创建一个包含密码合法字符的字符串。
然后生成(取决于您的长度要求)八到十四之间的随机数。
然后生成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
这基本上会给你一个所需长度的密码,由所需的字符组成。
于 2012-05-18T11:14:43.177 回答
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);
- 我假设ascii。
- 我假设密码长度在 6 到 12 之间。
- 我没有在我的回答中付出太多努力,因为你没有在你的问题上付出太多努力。你应该展示你尝试过的东西
于 2012-05-18T11:21:14.560 回答
0
用于arc4random()
数字和使用arc4random_stir()
于 2012-05-18T11:16:11.700 回答