【发布时间】:2015-02-09 05:38:29
【问题描述】:
现在的输出是 HHHHHHHHHHHHHHHHHHHH。我希望程序做的是 randomNum 每次通过循环时都有一个不同的值。所以它会像 AacCEe ......然后继续。
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main(){
srand(time(0));
cout << "You'r PW is: \t" << endl;
char abc [] {'A', 'a', 'B' ,'b', 'C', 'c', 'D', 'd', 'E', 'e', 'F', 'f', 'G', 'g', 'H', 'h', 'I', 'i', 'J', 'j', 'K', 'k'};
int randomNum = rand() % 22;
for(int i = 0; i <20; i++){
cout << abc[randomNum];
}
}
【问题讨论】:
-
请不要使用
rand()系列函数来生成任何实际用作密码的内容。在 Linux 上使用/dev/random或在 Windows 上CryptGenRandom并请大量扩展您的输出字符字母表。 -
谢谢,顺便说一句,我只是在测试角色。为什么我不应该使用 rand()?