c语音 设置软件密码,防止他人使用
软件发布后,如果不希望未经授权的用户使用,可以设置软件密码,启动软件后,必须正确输入密码才能进行后续操作。作为教学演示,这里简单地将密码赋值给一个变量,编译后不能更改,如果想更改,必须重新编译。
用户有3次输入密码的机会,3次输入错误,软件自动退出。通过for循环,连续3次读取用户输入的密码,并与初始密码进行比较,相同则校验通过,否则校验失败。
请看下面的代码:
[*]#include <stdio.h>
[*]#include <stdlib.h>
[*]#include <conio.h>
[*]
[*]int checkPwd();
[*]void myExit(char *msg);
[*]
[*]intpassword=123456;// 软件初始密码
[*]
[*]int main(){
[*] if(!checkPwd()){
[*] myExit("抱歉,3次输入密码错误。按任意键退出程序...\n");
[*] }
[*]
[*] myExit("恭喜你,密码检验成功。按任意键退出程序...\n");
[*]
[*] return 0;
[*]}
[*]
[*]// 校验密码
[*]// 返回 0 表示校验失败,返回 1 表示校验成功
[*]int checkPwd(){
[*] int pwd;//用户输入的密码
[*] int trytimes;// 用户尝试输入密码的次数
[*]
[*] printf("程序设置了密码,验证通过后才能使用。请输入6位数字密码:");
[*] // 可以输入三次
[*] for(trytimes=1; trytimes<=3; trytimes++){
[*] scanf("%d",&pwd);
[*] fflush(stdin);
[*] if(pwd==password){
[*] return 1;
[*] break;
[*] }else if(trytimes==3){
[*] return 0;
[*] }else{
[*] printf("抱歉,密码错误,您还有%d次机会:", 3-trytimes);
[*] }
[*] }
[*]}
[*]
[*]// 自定义退出程序函数
[*]// msg 为提示语
[*]void myExit(char *msg){
[*] printf("%s", msg);
[*] getch();
[*] exit(1);
[*]}
运行结果:
可以爆破过验证吗?
520Kelly 发表于 2015-1-4 21:50
可以爆破过验证吗?
这个我没试过你可以试一试{:5_116:}
学习下,谢谢了
支持楼主分享
这个还不错哟,又学到东西 感谢楼主分享,学习中 [吾爱汇编论坛52HB.COM]-做的不错哦,楼主加油,期待更好的作品! 谢谢分享
页:
[1]
2