用 C 语言写一个程序:功能:验证账号、密码,修改密码;默认账号: Admi
发布网友
发布时间:2022-04-26 14:35
我来回答
共4个回答
热心网友
时间:2023-10-10 10:23
代码:
#include <stdio.h>
#include <string.h>
#define M 50
#define N 128
// 系统保存的账号和密码
char name[M];
char pass[N];
char cryname[M];
char crypass[N];
// 简单加密函数
char * crypt(char s[]){
int i;
char cry[128]={'\0'};
for(i=0;s[i];i++){
cry[i]=s[i]+i+5; // 自定义加密
}
cry[i]='\0';
return cry;
}
// 登录验证
int main(){
// 用户输入的账号和密码
char getname[M];
char getpass[N];
char crygetname[M];
char crygetpass[N];
char newpass[N];
int ch;
//
printf("===程序初始化===");
printf("\n======初始化账号:");
gets(name);
strcpy(cryname,crypt(name));
printf("======初始化密码:");
gets(pass);
strcpy(crypass,crypt(pass));
printf("======初始化为:帐号:%s,%s;密码:%s,%s",name,cryname,pass,crypass);
printf("\n\n===运行程序===\n");
do{
printf("\n======账号和密码验证======");
printf("\n======请输入账号:");
gets(getname);
strcpy(crygetname,crypt(getname));
printf("======请输入密码:");
gets(getpass);
strcpy(crygetpass,crypt(getpass));
printf("======初始化为:帐号:%s,%s;密码:%s,%s",getname,crygetname,getpass,crygetpass);
}while(strcmp(cryname,crypt(getname)) && strcmp(crypass,crypt(getpass)));
printf("\n\n======验证通过=====");
do{
printf("\n\n===请输入数字选择功能===");
printf("\n======1、查看账号和密码");
printf("\n======2、修改密码");
printf("\n======0、关闭程序");
printf("\n\n======请输入数字:");
scanf("%d",&ch);
switch(ch){
case 1:
printf("\n\n========加密前的账号和密码:");
printf("\n===========账号:%s,密码:%s",name,pass);
printf("\n\n========加密后的账号和密码:");
printf("\n===========账号:%s,密码:%s",cryname,crypass);
break;
case 2:
printf("\n\n========请输入新密码:");
scanf("%s",&newpass);
strcpy(pass,newpass); //修改原始密码
strcpy(crypass,crypt(newpass)); //修改原始密码
printf("\n\n===========密码已修改,新密码为%s,加密后为:%s",pass,crypass);
break;
}
}while(ch!=0);
return 0;
}
运行:
热心网友
时间:2023-10-10 10:24
什么意思啊?
热心网友
时间:2023-10-10 10:25
CNM百度
热心网友
时间:2023-10-10 10:25
问百度搜索