资源简介
在 vc++6.0 上实现的文件加密解密程序注意没有用mfc。
代码片段和文件信息
#include //输入输出函数
#include
#include // 标准库函数
#include // 字符串处理函数
#include // 字符操作函数
#include // 控制台输入输出函数,虽然不是标准头文件,但是大部分编译器都支持
/**
* 在文件开头声明函数原型,将函数定义放在main()函数后面
* 这是一个优雅的编程习惯
**/
void printMenu(void);
int checkPwd(int type);
int encryptFile(char *sourcefile char *secretKeychar *targetFile);
char redo(void);
/**
* password 被main()和checkPwd()两个函数使用
* 必须定义为全局变量,即在main()函数外部定义
**/
int password=123456; // 软件初始密码
int main(){
/**
* 不像 password 变量,下面这些变量只在main()函数内部使用
* 所以可以定义为局部变量,即定义在mian()函数内部
**/
int newpwd newpwda; // 更改密码时,用户两次输入的新密码
char sourcefile[30] // 加密/解密的文件名
targetFile[30] // 解密/加密后要保存的文件名
secretKey[21] // 文件加密的密钥
action; // 要进行的操作
// 操作前先校验密码
if(!checkPwd(1)){
cout<<“抱歉,3次输入密码错误。按任意键退出程序...“;
getch();
exit(1);
}
// 密码校验成功,显示程序菜单,执行各种操作
while(1){
system(“cls“); // 清屏
printMenu(); // 显示菜单
cin>>action;
fflush(stdin); // 清空stdin缓冲区
system(“cls“);
switch(action){
// 退出系统
case ‘z‘:
exit(0);
break;
// 文件加密
case ‘a‘:
while(1){
cout<<“输入要加密的文件名(含路径):\n“;
cin>>sourcefile;
cout<<“输入密钥:“; //密钥是用户自己定义的,可以随意给需要加密的文件添加密钥
cin>>secretKey;
cout<<“加密后的文件名(含路径):“; //给加密后的文件命名,并保存
cin>>targetFile;
if( encryptFile(sourcefile secretKey targetFile) ){
cout<<“恭喜你,文件“< }
if(redo() == ‘a‘){ // 继续加密文件
system(“cls“);
}else{ // 回到主菜单
break;
}
}
break;
// 文件解密
case ‘b‘:
while(1){
cout<<“输入要解密的文件名(含路径):“;
cin>>sourcefile;
cout<<“输入密钥:“;
cin>>secretKey;
cout<<“解密后的文件名(含路径):“;//对解密的文件系统又可以提供保存路径
cin>>targetFile;
if( encryptFile(sourcefile secretKey targetFile) ){
cout<<“恭喜你,文件“< }
if(redo() == ‘a‘){ // 继续解密文件
system(“cls“);
}else{
break; // 回到主菜单
}
}
break;
// 修改密码
case ‘c‘:
while(1){
if(!checkPwd(2)){
cout<<“抱歉,3次输入密码错误。按任意键退出程序...“;
getch();
exit(0);
}
cout<<“请输入新密码:“;
cin>>newpwd;
cout<<“请再次输入新密码:“;
cin>>newpwda;
if(newpwd==newpwda){ // 两次输入密码相同才成功
password = newpwd;
cout<<“恭喜你,修改密码成功!\n“;
}else{
cout<<“两次输入密码不相同,修改失败!\n“;
}
if(redo() == ‘a‘){ // 继续修
- 上一篇:大一C语言考试上机使用的开卷材料
- 下一篇:带到达时间的动态高优先权
相关资源
- 大一C语言考试上机使用的开卷材料
- C语言-银行管理系统.zip
- linux C语言 QQ模拟聊天.zip
- 修正后的C语言实现巴特沃斯程序
- c语言实现 拉格朗日插值方法
- 银行管理系统C语言版
- 交通咨询系统-C语言
- C语言程序设计经典100例
- 不相关随机无标度网络UCM的C语言实现
- ER网络的C语言实现
- C++API中文帮助文档
- c语言题库,里面都是选择题
- 飞机订票系统C语言
- C语言图书信息管理系统设计报告
- C语言连连看代码
- c语言编写的倒车雷达程序
- 员工工管理系统,C语言,源码,200
- 基于C语言制作的网上书店订单管理系
- 基于linux下的C语言员工管理系统
- 杂志订阅系统,链表完成
- 斗地主C语言版
- c语言做的一个任务管理器
- c语言贪吃蛇游戏双人对战版源码
- 九轴姿态解算源代码 C语言
- 基于C语言的《点餐系统》
- 操作系统使用C语言链表实现进程管理
- 基于MATLAB使用C语言的读取GPS的rinex的
- 某科技大学C语言实现班主任管家系统
- C语言课程设计代码学生成绩管理系统
- c语言版easyx五子棋
评论
共有 条评论