C++控制台实现密码管理系统
程序员文章站
2022-08-10 19:14:57
本文实例为大家分享了c++控制台实现密码管理系统的具体代码,供大家参考,具体内容如下功能介绍:1.怎么创建密码,输入两次2.怎么修改密码3.怎么删除密码目录1.主界面2. 功能代码是不是...
本文实例为大家分享了c++控制台实现密码管理系统的具体代码,供大家参考,具体内容如下
功能介绍:
1.怎么创建密码,输入两次
2.怎么修改密码
3.怎么删除密码
目录
1.主界面
2. 功能代码
是不是有点意思,那还不ctrl-c ctrl-v 弄入你的ide环境下,试下
// mima.cpp: 主项目文件。 #include "stdafx.h" /// #include <iostream> #include <conio.h> #include <string.h> #include <fstream> //#include <windows.h> using namespace std; void display(); //主界面函数 void xuanze(); //选择函数 int read_file(); //读取密码文件 void write_file();//写入密码文件 void create_mima(); //创建密码 void yanzheng_mima(); //验证密码 void chang_mima(); //修改密码 void delete_mima(); //删除密码 // void jiami_suanfa(char* str); //加密解密算法 char mimastr[100]; //全局变量 //以上是函数的声明部分 //下面是函数的实现部分 void display() //主界面函数 { system("cls"); read_file(); cout<<"\t\t************************************************"<<endl; cout<<"\t\t\t\t欢迎使console密码系统"<<endl; cout<<"\t\t************************************************"<<endl; if(strlen(mimastr)==0)cout<<"\t\t\t\t [1] 创建密码"<<endl; else cout<<"\t\t\t\t 创建密码"<<endl; //密码已经存在就不能创建了 cout<<"\t\t\t\t [2] 验证密码"<<endl; cout<<"\t\t\t\t [3] 修改密码"<<endl; cout<<"\t\t\t\t [4] 删除密码"<<endl; cout<<"\t\t\t\t [5] 退出系统"<<endl; cout<<"\t\t************************************************"<<endl; xuanze(); } void xuanze() { cout<<"\t\t请输入你要进行的操作数: "; char ch; l: ch=getch(); if ((ch=='1' && strlen(mimastr)==0) || ch=='2' || ch=='3' || ch=='4' || ch=='5') { switch(ch) { case '1':create_mima(); break; case '2':yanzheng_mima(); break; case '3':chang_mima(); break; case '4':delete_mima(); break; case '5':exit(0); break; } } else goto l; } int read_file() //读取密码文件 { l: ifstream infile("mima_record.txt"); if (!infile) { write_file(); goto l; } else infile>>mimastr; return 1; } void write_file()//写入密码文件 { ofstream outfile("mima_record.txt"); if (!outfile) { cout<<"can not open the file!"<<endl; return; } else outfile<<mimastr; } void jiami_suanfa(char* str) //加密解密算法 { int len=strlen(str); for (int i=0;i<len;i++) str[i]=str[i]^'g'; } void create_mima() //创建密码 { system("cls"); char ch; int i=0; char str[100]; //确认密码存放处 cout<<"请输入新建密码,按enter结束(大于等于6位数): "; ch=getch(); while (i<100) { if (ch==13 && i>5)break; else if(ch==13)ch=getch(); else { cout<<"*"; mimastr[i++]=ch; ch=getch(); } } mimastr[i]='\0'; //结束标志 i=0; cout<<endl<<"请输入确认密码,按enter结束(大于等于6位数): "; //第二次输入密码 ch=getch(); while (i<100) { if (ch=='\r' && i>5)break; else if(ch=='\r')ch=getch(); else { cout<<"*"; str[i++]=ch; ch=getch(); } } str[i]='\0'; //结束标志 if (strcmp(mimastr,str)==0) { jiami_suanfa(mimastr); write_file(); cout<<endl<<"创建密码成功!,任意键返回..."<<endl; ch=getch(); display(); } else { cout<<"两次输入密码不一样,创建失败! 继续创建密码按enter,任意键返回..."<<endl; ch=getch(); if (ch=='\r')create_mima(); else display(); } } void yanzheng_mima() //验证密码 { read_file(); system("cls"); char ch; char str[100]; int i=0; cout<<"请输入你要验证的密码,enter结束: "; ch=getch(); while (i<100) { if (ch=='\r' && i>5)break; else if(ch=='\r')ch=getch(); else { cout<<"*"; str[i++]=ch; ch=getch(); } } str[i]=0; cout<<endl; jiami_suanfa(mimastr); //解密 if (strcmp(str,mimastr)==0) { cout<<"恭喜!验证成功!任意键返回..."<<endl; ch=getch(); display(); } else { cout<<"验证不成功!按enter继续验证,任意键返回..."<<endl; ch=getch(); if (ch=='\r')yanzheng_mima(); else display(); } } void chang_mima() //修改密码 { read_file(); system("cls"); char ch; char str[100]; int i=0; cout<<"请输入原来的密码,enter结束: "; ch=getch(); while (i<100) { if (ch=='\r' && i>5)break; else if(ch=='\r')ch=getch(); else { cout<<"*"; str[i++]=ch; ch=getch(); } } str[i]='\0'; cout<<endl; i=0; jiami_suanfa(mimastr); //解密 if (strcmp(str,mimastr)==0) { cout<<endl<<"请输入修改密码,按enter结束(大于等于6位数): "; ch=getch(); while (i<100) { if (ch=='\r' && i>5)break; else if(ch=='\r')ch=getch(); else { cout<<"*"; mimastr[i++]=ch; ch=getch(); } } mimastr[i]='\0'; //结束标志 i=0; cout<<endl<<"请输入确认密码,按enter结束(大于等于6位数): "; //第二次输入密码 ch=getch(); while (i<100) { if (ch=='\r' && i>5)break; else if(ch=='\r')ch=getch(); else { cout<<"*"; str[i++]=ch; ch=getch(); } } str[i]='\0'; //结束标志 if (strcmp(mimastr,str)==0) { jiami_suanfa(mimastr); write_file(); cout<<endl<<"修改密码成功!,任意键返回..."<<endl; ch=getch(); display(); } else { cout<<endl<<"两次输入密码不一样,修改失败! 继续修改密码按enter,任意键返回..."<<endl; ch=getch(); if (ch=='\r')chang_mima(); else display(); } } else { cout<<endl<<"输入密码不匹配!你不能修改该密码!任意键返回..."<<endl; ch=getch(); display(); } } void delete_mima() //删除密码 { read_file(); system("cls"); char ch; char str[100]; int i=0; cout<<"请输入原来的密码,enter结束: "; ch=getch(); while (i<100) { if (ch=='\r' && i>5)break; else if(ch=='\r')ch=getch(); else { cout<<"*"; str[i++]=ch; ch=getch(); } } str[i]='\0'; cout<<endl; i=0; jiami_suanfa(mimastr); //解密 if (strcmp(str,mimastr)==0) { cout<<"确定删除请按'y'or'y',任意键取消返回..."<<endl; ch=getch(); if (ch=='y' || ch=='y') { mimastr[0]='\0'; write_file(); cout<<"删除成功,任意键返回..."<<endl; ch=getch(); display(); } else display(); } else { cout<<endl<<"输入密码不匹配!你不能删除该密码!任意键返回..."<<endl; ch=getch(); display(); } } //mian函数 void main() { display(); }
是不是和给出的效果一致呢, 以上的密码只是简单的异或操作加密,你可以在这基础上加入你的专业级的加密算法试试哈, 什么 des aes都可以哈!
关于管理系统的更多内容请点击《管理系统专题》进行学习
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 从零售商到零售服务商 苏宁易购再谋大蜕变
下一篇: 记录集内随机取记录的代码
推荐阅读
-
C#实现图书管理系统
-
操作系统:diskpart常用指令(使用diskpart实现分区管理)
-
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九)
-
win7系统开机提示因为磁盘管理控制台视图不是最新状态的两种解决方法图文教程
-
vue中如何实现后台管理系统的权限控制的方法示例
-
Asp.net管理信息系统中数据统计功能的实现方法
-
python实现学生信息管理系统
-
abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之四(三十)
-
bp(net core)+easyui+efcore实现仓储管理系统——入库管理之三存储过程(三十九)
-
一步一步实现web程序信息管理系统之三----登陆业务逻辑实现(验证码功能+参数获取)