随机生成10个含有32位数字或者字符的密码

来源:互联网 发布:北京大学安金鹏 知乎 编辑:程序博客网 时间:2024/06/07 01:28

如题,我们随机生成10个含有32位数字或者字符的密码(数字和密码至少包含1位)。

其实现代码如下:

#include<iostream>#include<vector>using namespace std;void GenerateCode(){for (int i = 0; i != 10; ++i){vector<int> State(32, 0);vector<char> Code(32, '0');int sum = 0;for (int j = 0; j != 32; ++j){State[j] = rand() % 2;sum += State[j];}if (sum == 32 || sum == 0){int r=rand() % 32 + 1;State[r] = 1 - State[r]; }for (int i = 0; i != 32; ++i){if (State[i] == 0)Code[i] = rand() % 10 + '0';elseCode[i] = rand() % 26 + 'a';}for (vector<char>::iterator iter = Code.begin(); iter != Code.end(); ++iter){cout << *iter;}cout << endl;}}int main(){GenerateCode();system("pause");return 0;}
实验结果如下:


1 0
原创粉丝点击