📄 password.cpp
字号:
//密码设置修改函数
#include "begin.h"
int check(char c)//检验输入字符函数
{
if(c>='0'&&c<='9'||c>='a'&&c<='z'||c>='A'&&c<='Z')return 1;
return 0;
}
void Password(char *pw,int f)//接受密码输入函数
{
char ch;
if(f==0)puts("请输入初始化密码(数字或英文<=12位,回车结束):");
if(f==1)puts("请再次输入初始化密码(回车结束):");
if(f==2) puts("请输入验证密码(回车结束):");
if(f==3)puts("请输入原来密码(回车结束):");
if(f==4)puts("请输入更改密码(回车结束):");
if(f==5)puts("请再次输入更改密码(回车结束):");
for(int i=0;i<12;i++)
{
ch=getch();
if(ch=='\r')
{pw[i]='\0';break;}
else if(check(ch)==0){puts("非法字符!");abort();} //非法字符中断程序
putch('*'); //显示*号,比cout快
pw[i]=ch;
if(i==11){pw[i+1]='\0';break;}//限制最大密码范围
}
}
void resetPassword(fstream f)
{ char password[14]={'\0'};
char checkpassword[14]={'\0'};
char pw3[13]; char pw4[13]; char pw5[13];
int i=0,j=0;
f.open( "e:\\password.dat" , ios::binary|ios::in|ios::out);
if(!f) { cerr << "文件不能打开" << endl ; return ;};
f>>password;
int n=0;
while(password[n]!='\0') //简单的ASCII解密
{
if(password[n]==0)password[n]=255;else password[n]--;
n++;
}
do
{Password(pw3,3);
strcpy(checkpassword,pw3);putch('\n');i++;
}while(i<3&&strcmp(password,checkpassword));
//保证第三次正确能正常修改密码
if(strcmp(password,checkpassword)==0)i--;
if(i<=2)
{
do
{Password(pw4,4);
putch('\n');
Password(pw5,5);putch('\n\n');j++;
}while(j<3&&strcmp(pw4,pw5));
if(j<=2)
{ f.close();
f.open( "e:\\password.dat" , ios::binary|ios::in|ios::out);
if(!f) { cerr << "文件不能打开" << endl ; return ;};
int m=0;
while(pw5[m]!='\0') //简单的ASCII加密
{
if(pw5[m]==255) pw5[m]=0;else pw5[m]++;
m++;
}
strcpy(password,pw5);
puts("密码修改成功!");
cout <<endl<<endl;
f.seekg( 0, ios::beg );
f<<password;
f.close();
}
else{putch('\n');puts("修改密码失败了!");exit(1);}
}else {putch('\n');puts("您无权修改密码!");exit(1);}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -