计算机网络安全研究协会第二期部分程序代码
———一个密码验证程序的编写
组稿人:赵飞宇
本程序由刘杨编写
#include<graphics.h>
#include<bios.h>
#include<stdio.h>
#include<ctype.h>
main(){
FILE *fp;
struct d_type{
char name[13];
char password[13];
}d[2];
long size;
int ch=-1,b=2,i=0,j=0,e=0,f,p;
int gr=DETECT,gm;
initgraph(&gr,&gm,"");
/* d[0].name,d[1].name分别存储键盘和文件输入的昵称记录
* d[0].password,d[1].password分别存储键盘和文件输入的密码记录
* ch接受键盘按键
* b判断当前焦点位置:4=登陆(回车),1=注册,2=昵称,3=密码
* i,j分别记录已输入昵称和密码的个数
* e记录提示信息
* f,p分别用于读取文件和加密数据的循环控制
* gr那两行用来进入图形模式 */
cleardevice();
setbkcolor(9);
setfillstyle(9,1);
bar(240,160,440,280);
setfillstyle(1,7);
bar(220,140,420,260);
setfillstyle(1,1);
bar(220,140,420,160);
setcolor(8);
rectangle(221,161,421,261);
setcolor(15);
rectangle(220,140,420,260);
line(221,259,419,259);
line(419,162,419,259);
rectangle(240,230,310,247);
rectangle(330,230,400,247);
setcolor(8);
line(241,248,310,248);
line(311,231,311,248);
line(331,248,401,248);
line(401,231,401,248);
setfillstyle(1,9);
bar(304,180,407,215);
rectangle(303,179,408,216);
line(303,197,408,197);
setcolor(15);
rectangle(303,179,408,197);
outtextxy(225,145,"Land:");
setcolor(8);
outtextxy(230,185," Name:");
outtextxy(230,205,"Password:");
outtextxy(245,235," Login ");
outtextxy(335,235,"Register");
setcolor(14);
rectangle(303,179,408,197);
/* 以上用于绘制图形界面 */
do{
ch=-1;
while(ch==-1){
ch=bioskey(0);
}
/* 等待用户按键并赋给变量ch */
switch(ch){
case 3592:/*退格键*/
if(b==2&&i>0){
gotoxy(38+i,11);
putchar(' ');
i=i-1;
}
if(b==3&&j>0){
gotoxy(38+j,12);
putchar(' ');
j=j-1;
}
break;
/* 删除一个当前焦点b所在的字符 */
case 3849:/* Tab键 */
switch(b){
case 1:/*注册*/
setcolor(15);
rectangle(330,230,400,247);
setcolor(14);
rectangle(303,179,408,197);
b=2;
break;
case 2:/* 昵称 */
setcolor(8);
rectangle(303,179,408,197);
setcolor(14);
rectangle(303,197,408,216);
b=3;
break;
case 3:/* 密码 */
setcolor(8);
rectangle(303,197,408,216);
setcolor(14);
rectangle(240,230,310,247);
b=4;
break;
case 4:/* 登陆 */
setcolor(15);
rectangle(240,230,310,247);
setcolor(14);
rectangle(330,230,400,247);
b=1;
break;
}
break;
/* 向下切换当前焦点位置 */
case 7181:/* 回车键 */
switch(b){
case 2:
setcolor(8);
rectangle(303,197,408,179);
setcolor(14);
rectangle(240,230,310,247);
b=4;
case 3:
if(b==3){
setcolor(8);
rectangle(303,197,408,216);
setcolor(14);
rectangle(240,230,310,247);
b=4;
———一个密码验证程序的编写
组稿人:赵飞宇
本程序由刘杨编写
#include<graphics.h>
#include<bios.h>
#include<stdio.h>
#include<ctype.h>
main(){
FILE *fp;
struct d_type{
char name[13];
char password[13];
}d[2];
long size;
int ch=-1,b=2,i=0,j=0,e=0,f,p;
int gr=DETECT,gm;
initgraph(&gr,&gm,"");
/* d[0].name,d[1].name分别存储键盘和文件输入的昵称记录
* d[0].password,d[1].password分别存储键盘和文件输入的密码记录
* ch接受键盘按键
* b判断当前焦点位置:4=登陆(回车),1=注册,2=昵称,3=密码
* i,j分别记录已输入昵称和密码的个数
* e记录提示信息
* f,p分别用于读取文件和加密数据的循环控制
* gr那两行用来进入图形模式 */
cleardevice();
setbkcolor(9);
setfillstyle(9,1);
bar(240,160,440,280);
setfillstyle(1,7);
bar(220,140,420,260);
setfillstyle(1,1);
bar(220,140,420,160);
setcolor(8);
rectangle(221,161,421,261);
setcolor(15);
rectangle(220,140,420,260);
line(221,259,419,259);
line(419,162,419,259);
rectangle(240,230,310,247);
rectangle(330,230,400,247);
setcolor(8);
line(241,248,310,248);
line(311,231,311,248);
line(331,248,401,248);
line(401,231,401,248);
setfillstyle(1,9);
bar(304,180,407,215);
rectangle(303,179,408,216);
line(303,197,408,197);
setcolor(15);
rectangle(303,179,408,197);
outtextxy(225,145,"Land:");
setcolor(8);
outtextxy(230,185," Name:");
outtextxy(230,205,"Password:");
outtextxy(245,235," Login ");
outtextxy(335,235,"Register");
setcolor(14);
rectangle(303,179,408,197);
/* 以上用于绘制图形界面 */
do{
ch=-1;
while(ch==-1){
ch=bioskey(0);
}
/* 等待用户按键并赋给变量ch */
switch(ch){
case 3592:/*退格键*/
if(b==2&&i>0){
gotoxy(38+i,11);
putchar(' ');
i=i-1;
}
if(b==3&&j>0){
gotoxy(38+j,12);
putchar(' ');
j=j-1;
}
break;
/* 删除一个当前焦点b所在的字符 */
case 3849:/* Tab键 */
switch(b){
case 1:/*注册*/
setcolor(15);
rectangle(330,230,400,247);
setcolor(14);
rectangle(303,179,408,197);
b=2;
break;
case 2:/* 昵称 */
setcolor(8);
rectangle(303,179,408,197);
setcolor(14);
rectangle(303,197,408,216);
b=3;
break;
case 3:/* 密码 */
setcolor(8);
rectangle(303,197,408,216);
setcolor(14);
rectangle(240,230,310,247);
b=4;
break;
case 4:/* 登陆 */
setcolor(15);
rectangle(240,230,310,247);
setcolor(14);
rectangle(330,230,400,247);
b=1;
break;
}
break;
/* 向下切换当前焦点位置 */
case 7181:/* 回车键 */
switch(b){
case 2:
setcolor(8);
rectangle(303,197,408,179);
setcolor(14);
rectangle(240,230,310,247);
b=4;
case 3:
if(b==3){
setcolor(8);
rectangle(303,197,408,216);
setcolor(14);
rectangle(240,230,310,247);
b=4;