一个简单的口令保护程式

来源:本站
导读:目前正在解读《一个简单的口令保护程式》的相关信息,《一个简单的口令保护程式》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《一个简单的口令保护程式》的详细说明。
简介:本程序涉及到C语言函数getpass(char *),该函数从键盘读取8位字符并返回,且不在屏幕上显示。我们正好利用这一函数功能进行输入口令。

本程序可加到用户的源程序之前,起到加锁的作用。本程序的特点是:口令保密性强(保存于文件KLK.CFG中,此文件名也可由用户重新命名),而且用户可随时修改口令。在程序中当用户输入口令后,系统首先测试口令文件KLK.CFG是否存在(只有用户运行了修改口令子函数后才会生成口令文件,否则系统只认默认口令88888888),若存在则从中取出口令字,否则系统默认口令与用户输入的口令进行较验。另外,修改口令子函数changkl(),可在用户程序中调用,以修改口令文件中的口令字。

本程序涉及到C语言函数getpass(char *),该函数从键盘读取8位字符并返回,且不在屏幕上显示。我们正好利用这一函数功能进行输入口令。

程序清单如下:

#include

#include

void main()

{

char *password;

char kl[9]="88888888";

inti=0;

FILE *fpl;

window(1,1,80,25); /* 屏幕背景清屏成蓝色 */

textbackground(1);

clrscr();

window(17,10,58,13);/* 开阴影窗口 */

textbackground(0);

clrscr();

for(i=0;i<=2;i++)

{

window(16,9,56,12);

textattr(14︳2<<4);

clrscr();

gotoxy(13,2);

password=(char *)getpass("请输入系统口令:");

textcolor(4);

/* 若口令文件KLK.CFG存在,则从中取出口令字 */

if((fp=fopen("KLK.CFG","rb+"))!=NULL)

{

fseek(fp,O,SEEK_SET);

fgets(kl,9,fp);

fclose(fp);

}

if(i==2&&strcmp(password,kl)!=0)

/* 三次口令无效退出 */

{

gotoxy(13,2);

cputs("口令错误,退出!!");

getch();

exit(0);

}

if(stcmp(password,kl)!=0)

{

gotoxy(13,2);

cputs("口令错误,重输!!");

getch();

}

else break;

}

/* 进入主程序体 */

textbackground(1);

window(1,1,80,25);

clrscr();

gotoxy(10,10);

cputs("执行用户主体程序……按任意键进行更改口令!");

getch();

changkl();/*用户程序中调用修改口令函数*/

}

changkl() /* 修改口令子函数 */

{

char *klk;

char buf[1];

FILE *fp;

window(17,16,58,19);/* 开阴影窗口 */

textbackground(0);

clrscr();

window(16,15,56,18);

textattr(14︳4<<4);

clrscr();

gotoxy(8,4);

cputs("请修改口令字,必须为八位字符");

gotoxy(14,2);

klk=(char *)getpass("请输入新口令:");

gotoxy(14,2);

textcolor(2);

if(srlen(klk)!=8)

{

cputs("口令字无效,返回!!");

getxh();

return;

}

cputs("口令修改成功!!");

if((fp=fopen("KLK,CFG"."w"))!=null)

/* 保存口令到文件KLK.CFG */

{

fputs(klk,fp);

buf[0]=0xia;

fwrite(&buf[0],1,1,fp);

fclose(fp);

}

getch();

returm;

}

提醒:《一个简单的口令保护程式》最后刷新时间 2024-03-14 01:01:11,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《一个简单的口令保护程式》该内容的真实性请自行鉴别。