程序有一个参数,表示生成的密码的长度
运行的时候要加上,比如./password 8
我写的很简单,参数没做检查,你应该自己去完善一下。
#include
#include
#include
void generate(int len,char* buffer)
{
/*产生密码用的字符串*/
static const char string[]= "0123456789abcdefghiljklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int i = 0;
for(; i < len; i++)
{
buffer[i] = string[rand()%strlen(string)]; /*产生随机数*/
}
}
int main(int argc, char* argv[])
{
int len = atoi(argv[1]); /*指定生成的密码长度*/
srand(time(0)); /*设定随机数种子*/
char *buffer = (char*)malloc(len + 1); /*分配内存*/
generate(len,buffer); /*生成密码*/
puts(buffer); /*输出到屏幕*/
FILE* fp = fopen("pass","w"); /*打开输出文件*/
if(fp == NULL)
return -1;
fwrite(buffer, sizeof(char), len, fp); /*写文件*/
fclose(fp); /*关闭文件*/
free(buffer); /*释放动态分配的内存*/
return 0; /*程序结束*/
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试