一个简单的口令保护程式

2016-02-19 15:56 2 1 收藏

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享一个简单的口令保护程式,希望可以对大家能有小小的帮助。

【 tulaoshi.com - 编程语言 】

    本程序可加到用户的源程序之前,起到加锁的作用。本程序的特点是:
  口令保密性强(保存于文件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︳24);
  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︳44);
  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;
  }

来源:https://www.tulaoshi.com/n/20160219/1610720.html

延伸阅读
标签: ASP
研究了漏洞,我就想解决的方法,我总结一下,里面有我想的一个不成熟的想法。  是给高手看的,看看是不是一种解决已知和未知SQL注入漏洞的好方法。 这个是我想的不成熟的方法,我认为能解决大部分以知和未知的SQL注入漏洞,让入侵者弄不到密码!  首先我先分析大多数的SQL注入,原理无非就是对管理员敏感的信息进行猜测,因此都需...
                                一个简单的一箭穿心程序    其实这个程序也不难,只要专心形线方程(1-ρ×cosθ)来绘图就可以了。    作者:...
标签: Web开发
我现在还不会写持久层,就用这种方法加上存储过程用,我感觉还比较爽,希望大家多多指教 public class clsdb {      public clsdb()  {   //   // TODO: 在此处添加构造函数逻辑   //  } //数据库连接     public static SqlCo...
标签: Web开发
其实就是 prototype 1.4中 枚举对象部分 的简化版本,  先贴代码,等下再一一解释,对初学者可能有帮助  最近一直在学习Python,一直感叹于python中 list的灵活,  同样都是数组,为什么javascript不能和python中的一样灵活呢,  (其实下面这些 prototype 1.4已经实现了,不过 ...
蘑菇简笔画视频教程 先放上蘑菇简笔画的视频,跟着视频做,视频后还有步骤可以跟着做,画完之后你一定觉得是特别的容易。画了之后尽量的反复画来培养自己的动手能力吧。     蘑菇简笔画步骤教程 1、首先画出蘑菇的大致形状 2、在蘑菇里画一个弧形 3、画出蘑菇的梗 4、然后画出蘑菇的花纹,也可以画出其他的花纹...

经验教程

577

收藏

76
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部