个人信息加解密程序
2021/12/24 11:07:00
本文主要是介绍个人信息加解密程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
程序功能:个人重要信息如各种账号密码可以用文本文件存起来。如未加密,很容易造成个人信息泄露。本程序对文本信息文件进行加解密,未加密文件名为yuan.wen,加密后的文件名为mi.wen。平时只保留加密后的文件,需要原文件时解密即可。加解密时需要输入密码,进一步保证了安全性。源程序建议压缩加密保存。
代码语言为C++,程序要正常运行,
1. 需要在代码第12~16行设置好密码和加密解密映射表。
2. 提前准备需要加密的文件和已加密的文件。
代码如下:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<fstream>
#include<conio.h>
#include<iomanip>
using std::cin;
using std::cout;
using std::ifstream;
using std::ofstream;
using std::string;
const string PW = ""; //设置密码
const string SP = ""; //设置超级密码
unsigned int m[256]={
0,......,255}; //加密映射表
unsigned int y[256]={
0,......,255}; //解密映射表
void getpw(char pw[]){
int i=0;
for (char c=_getch();c!=13;c=_getch())
if (c!='\b')
pw[i++]=c,printf("*");
else{
if (i>0){
printf("\b \b");
i--;
}
}
pw[i] = '\0';
printf("\n");
}
int main(){
char pw[256];
for (int i=3;true;i--){
if (i==0){
cout << "3次机会已用完!\n";
return 0;
}
cout << "输入操作密码:";
getpw(pw);
if (PW==pw || SP==pw) break;
else{
cout << "密码错误!\n";
}
}
cout << "加密还是解密?加密输0,解密输1:";
int flag;
string InputName,OutputName;
cin >> flag;
if (flag==0) //加密
InputName = "yuan.wen", OutputName = "mi.wen";
else //解密
InputName = "mi.wen", OutputName = "yuan.wen";
ifstream fin(InputName.c_str());
ofstream fout(OutputName.c_str());
char c;
while (~(c=fin.get())){
c = (char)(flag?y[(unsigned char)c]:m[(unsigned char)c]);
fout << c;
}
cout << (flag?"解密成功!\n":"加密成功!\n");
system("pause");
fin.close();
fout.close();
return 0;
}
这篇关于个人信息加解密程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行