-1

我想使用数字、标点符号和字母(小写和大写)生成密码。我怎样才能随机生成呢?

4

3 回答 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 回答