C++生成随机字符串作为密码

由于我们需要在大量的网站和APP注册,为了便于记忆,注册的用户名往往类似甚至一模一样,密码也经常一模一样或者类似。这是一种不好的习惯,因为黑客有可能获取网站和APP泄露的大量密码后,运用某种方法找到用户设置密码的习惯,这样账号就有了被盗的风险。为了避免黑客找到用户设置密码的习惯,最好的办法就是用随机字符串作为密码。

默认密码长度为10,这应该是够用的。

下面是C++实现:

#include 
#include 
#include 
#include 
#include 
using namespace std;

/*
编译: g++ main.cpp -o main
*/
char getDigit()
{
    return static_cast('0' + rand()%('9'-'0'+1));
}
char getLower()
{
    return static_cast('a' + rand()%('z'-'a'+1));
}
char getUpper()
{
    return static_cast('A' + rand()%('Z'-'A'+1));
}

int main()
{
    ofstream output;
    output.open("pwd.txt");
    srand(time(0));
    char ch;    //保存随机生成的字符
    int num;    //决定随机生成字符的类型
    int npwd;   //输出密码的个数
    vector str; //保存随机生成的字符串
    cout << "Enter the number of passwords: ";
    cin >> npwd;
    for(int j=0; j::iterator p1;
		for(p1=str.begin(); p1!=str.end();p1++)
		{
			output << *p1;
		}
		output << endl;
		str.clear();
	}
    cout << "Done" << endl;

    return 0;
}

下面是输出10个密码的截图:

C++生成随机字符串作为密码_第1张图片
C++生成随机字符串作为密码_第2张图片

 

你可能感兴趣的:(综合)