失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c语言随机生成字母 C语言编程实战案例——6位密码随机生成器

c语言随机生成字母 C语言编程实战案例——6位密码随机生成器

时间:2024-07-07 08:10:40

相关推荐

c语言随机生成字母 C语言编程实战案例——6位密码随机生成器

在我们注册某些网站的时候,很多需要提供手机号,用来接收验证码来完成注册。我们知道,每次的验证码都是随机的,那么这里面的验证码到底是如何随机生成的呢?今天,我就给大家展示一种6位随机密码生成的例子。本算法是小编原创猜测,如有雷同不胜荣幸。

首先贴出代码。

#include

#include

#include

char code[10];

int flag;

void input();

void output();

void CodeGen();

void main()

{

while(1)

{

input();

output();

}

}

void input()

{

printf(“To continue,按1继续,按0退出n”);

scanf(“%d”,&flag);

}

void output()

{

if(flag==1)

{CodeGen();

printf(“the random code for you is:%sn”,code);

}

else

printf(“thanks for using!n”);

}

void CodeGen()

{

int i,mark;

srand(time(NULL));//初始化时间种子

for(i=0;i<6;i++)//循环6次,生成6个字符密码

{mark=rand()%36;//产生从0到35共36个随机数,用来区分代表10个阿拉伯数字和26个小写英文字母

if(mark>=0&&mark<=9)

code[i]=mark+48;//如果随机数在0到9之间,则密码转化为字符型的0到9

else

code[i]=mark+87;//a的ascII码为97,比如随机数是10,则代表产生的字符是a;随机数是11,则代表产生的字符是b

}

code[i]=’/0′;//字符串结束符

}

程序的核心部分我已经做了详细注释,不再多说。主要值得一提的是该算法的核心在于srand和rand()随机数生成算法。srand和rand函数配合产生伪随机数列。srand函数在前,作用是初始化时间种子,为rand函数产生随机数提供种子。srand(unsigned T)通过参数T改变系统提供的种子值,从而使每次产生的种子值不同,这样rand函数调用产生的伪随机数就不同。通常情况下,我们可以使用系统时间来改变种子值,srand(time(NULL)),为rand函数提供不同的种子,从而产生不同的随机数。至于rand函数的用法,简单来讲就是,rand()%M,M是正整数,表示可能随机产生0到M-1种随机数值。

下面是程序的第一次运行结果

下面是第二次运行结果

可以看出两次生成的验证码都是随机的,这样基本可以实现网站注册中随机生成验证码的需求。

今天的C编程范例就演示到这里,各位亲们有什么疑问可以评论在下面,我会及时给予回复哦。

如果觉得《c语言随机生成字母 C语言编程实战案例——6位密码随机生成器》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。