注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
一个3S皮肤的教程
PHOTOSHOP鼠绘手机教程——方法简
恶意网页病毒十三大症状分析及简
一个中毒之后的惨胜的过程
一个显为人知的木马随程序启动的
一个包子引发的杀毒软件血战:到底
关于木马隐藏一个的新方法
简单三步走堵死SQLServer注入漏洞
查看系统中是否有简单木马
“线程安全”是一个什么概念?
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> C >> 文章正文
一个简单的口令保护程式
作者:大鹰  来源:http://www.xici.net  点击:  更新:2006-12-19
简介:
本程序可加到用户的源程序之前,起到加锁的作用。本程序的特点是:
口令保密性强(保存于文件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;






  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务