c++控制台密码管理系统
对您有一点点用,或者喜欢,点点赞,点点关注可以吗,谢谢!
功能介绍:1.怎么创建密码,输入两次
2.怎么修改密码
3.怎么删除密码
目录
1.主界面
2. 功能代码
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;} elseinfile>>mimaStr;return 1;
}void write_file()//写入密码文件
{ofstream outfile("MiMa_record.txt");if (!outfile){cout<<"can not open the file!"<<endl;return;} elseoutfile<<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++控制台密码管理系统相关推荐
- Python基础实践-密码管理系统实例
密码管理系统实例 需求分析: 1.主界面(选项:密码生成,密码查询,密码修改,密码删除) 2.密码生成:用户输入密码的描述,输入密码的长度,使用随机数生成一个比较复杂的密码,并且保存在列表中 3.密码 ...
- 【实战 Ids4】║ 控制台密码模式搭配Ocelot网关
(此岁只能云赏樱了) 书接上文,这些天一直在研究IdentityServer4(下文简称Ids4)框架,发现有很多有意思,或者说比我想象中的知识点,可扩展的多,所以比较开心能钻研进去,就像当时学习AS ...
- 账号、密码管理系统 python
用python编写了一个简单的账号.密码管理系统 def menu(): #主页面的设置 os.system("cls") #清屏 print("账号.密码管理系统&qu ...
- 深信服上网行为管理设备登录方法、恢复出厂、恢复控制台密码
目录 1.初识设备 1.1 设备外观 1.2 软件版本 2.如何登录设备 3.如何恢复出厂设置 4.如何恢复控制台密码 1.初识设备 1.1 设备外观 1.2 软件版本 2.如何登录设备 首次拿到AC ...
- weblogic修改控制台密码
修改weblogic控制台密码 主要有两种方式 1.通过控制台修改 a.进入控制台页面 b.找到 用户和组 c.修改密码 2.通过命令行修改 需要注意的是,密码修改完之后,必须重启服务,密码方可生效. ...
- 恢复officescan控制台密码
恢复OfficeScan的控制台密码的办法 请您按照以下步骤恢复OfficeScan的控制台密码:*2OEzSLo>3 :BZ%TL*b 重设OSCE控制台密码m\NoS")@ ...
- 利用字典制作一个登录用户账号密码管理系统,实现对账号密码的增删改查等功能
利用字典制作一个登录用户账号密码管理系统,实现对账号密码的增删改查等功能: 当前默认账号密码为:user = {'Wangwu':123456,'Zhangsan':456789,'Lisi':789 ...
- java-net-php-python-jspm服务器密码管理系统计算机毕业设计程序
java-net-php-python-jspm服务器密码管理系统计算机毕业设计程序 java-net-php-python-jspm服务器密码管理系统计算机毕业设计程序 本源码技术栈: 项目架构:B ...
- WebLogic修改控制台密码_集群环境
Weblogic控制台登陆密码遗忘造成不能登录控制台:或者客户因为安全原因需要修改WebLogic控制台密码.可通过相应的步骤修改weblogic控制台的登陆用户名及密码. 1, 停weblogic服 ...
最新文章
- Elastic Search 介绍和基本概念
- 如何进行网络推广教大家在网站排名变差该如何进行查找问题所在?
- 贪心算法-02活动安排问题
- python keyerror_盘点Python 初学者最容易犯的10大错误!你中招了吗?
- mysql connector放在哪_关于MySQL Connector/C++那点事儿
- Linux分区之parted命令
- ipad中的active失效?
- linux系统上的图形化远程管理,Linux操作系统远程图形化管理的几种途径
- access 分表存储_数据库分区、分表、分库、分片
- 分享一份软件测试面试指南
- 蓝屏代码0x000009f
- 三阶魔方大中小魔公式_三阶魔方花样玩法公式大全
- web压力測试-Web Bench
- EF系列(二)——DbContext 和DbSet
- 算法是怎样一步步毁掉年轻人的世界的
- 如何正确的从零开始学英语
- 怎么减肥? 卡路里数据,升糖指数,饱腹指数,
- 超全的 Python 库,赶快收藏!
- Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting
- 计算机编程与ug编程,UG编程完整版.doc
热门文章
- 【office】Visio 2016 画大括号(花括号) + 调整花括号尖角居中
- 什么是java框架结构_什么是JAVA类集框架啊?具体指的是什么?是JAVA类的框架结构么?...
- 适合团队工作的软件,大家来看看有没有喜欢的吧
- Java接入微信支付ApiV3详细教程
- Kafka的灵魂伴侣Logi-KafkaManger(3)之运维管控--集群列表
- 第四章第八节数据资产盘点-系统数据梳理
- python下载arcgis地图_使用下载器下载适用于arcgis的离线地图切片
- 【FTP】Entering Extended Passive Mode
- 验证input和textarea的输入是否有效,也就是不为空,也不都是空格
- angularjs controller中使用filer