密码锁c语言编程代码

密码锁c语言编程代码,第1张

#include <stdioh>

#include <stringh>

#include <stdlibh>

int main()

{

char password[10],password2[10];

memset(password,0,sizeof(password));

memset(password2,0,sizeof(password2));

printf("请设置8位数以内密码:\n\n");

scanf("%s",password);

printf("请设置校验密码:\n\n");

scanf("%s",password2);

if(atoi(password2)==atoi(password))

{

 printf("密码输入正确!:\n");

}

else

{

 printf("密码输入错误!:\n");

}

return 0;

}

#include <stdioh>

void main()

{

char c, s[100];

int i = 0;

while((c=getch())!='\r')

{

s[i] = c;

printf("");

i++;

}

s[i]='\0';

printf("\n你的输入字符为:%s\n", s);

}

输入完成按回车,会显示你输入的内容。

scanf会直接回显输入的字符,无法实现你所需要的功能,要用缓冲字符输入用getchar

可能很长 ,这是在我以前一个程序里摘出来的。

原理:用户输入创建密码,机器读取,并把每一位密码进行加密,这里就是把每一位的 ASCII码加一(也可以有其他的加密方式),然后保存在文件里。解密时从文件中读取保存的乱码,然后把它每一位的ascII码减一 在与你输入的密码比较,正确既可以进入。

#define CODE_SIZE 10

int password()

{

FILE fp;

char s1[CODE_SIZE], s2[CODE_SIZE], s3[CODE_SIZE], fun;

while (1)

{

fp = fopen("passwordtxt", "r");

if (fp == NULL)

{

printf("第一次运行,请输入初始密码(最多8位):\n");

scanf("%s", s1);

printf("请再次输入初始密码:\n");

scanf("%s", s2);

if (strcmp(s1, s2) == 0)

{

fp = fopen("passwordtxt", "w+");

if (fp == NULL)

{

printf("创建文件失败退出\n");

getch();

exit(1);

}

else

{

//对s1加密

for (int i = 0; i<CODE_SIZE&&s1[i] != ' '; i++)

{

s1[i] = s1[i] + i;

}

fputs(s1, fp);

printf("初始密码创建完成\n");

}

}

else

{

printf("两次输入的密码不一致!\n");

}

fclose(fp);

}

else

{

fgets(s1, CODE_SIZE, fp);

fclose(fp);

printf("输入密码:\n");

scanf("%s", s2);

//对s1解密

for (int i = 0; i<CODE_SIZE&&s1[i] != ' '; i++)

{

s1[i] = s1[i] - i;

}

loop:

if (strcmp(s1, s2) == 0)

{

printf("-----密码正确-----\n");

printf("-----请选择功能-----\n");

printf("-----1:修改密码-----\n");

printf("-----2:进入通讯录-----\n");

scanf("%d", &fun);

switch (fun)

{

case 1: printf("请输入新密码\n");

scanf("%s", s1);

printf("请再次输入新密码\n");

scanf("%s", s2);

if (strcmp(s1, s2) == 0)

{

fp = fopen("passwordtxt", "w+");

if (fp == NULL)

{

printf("文件错误!\n");

}

else

{ //对s1加密

for (int i = 0; i<CODE_SIZE&&s1[i] != ' '; i++)

{

s1[i] = s1[i] + i;

}

fputs(s1, fp);

fclose(fp);

printf("密码修改成功\n");

}

}

else

{

printf("两次输入的密码不一致,修改失败\n");

}

break;

case 2: return 1;

default: printf("无效指令\n");

}

}

else

{

printf("密码错误\n请重新输入\n");

scanf("%s", s2);

goto loop;

}

}

printf("------------------\n\n\n\n");

}

}

以上就是关于密码锁c语言编程代码全部的内容,包括:密码锁c语言编程代码、c语言ATM机程序设计密码怎么用*表示、用c语言设计一个简单地加密算,解密算法,并说明其中的原理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9300926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存