【花式表白】,情书加密,这样泡小师妹,没跑了。
首先先上效果图。
文件a是初始文本,文件b是由文件a加密而成的。我们发给小师妹的文件可以是b文件。而c文件则是由b文件解密出来的。
其中如果输入错了解密的密码,就会出现另外一堆乱码。
只有解密的密码正确,才能输出正确的内容。
加密原理:
异或加密,我们先要知道,任何字符异或一个内容之后,再重复异或之前相同的内容,那么这个字符不变。我们可以把文本内的所有内容都进行异或处理加密。然后再进行异或处理解密。只要钥匙是不变的,那么他们解密后的内容是一样的。
#include<iostream>
#include <fstream>
#include <vector>
#include<strstream>
#include<string>
#include <cstdlib>
#include <windows.h>
#include<sstream>
#include <algorithm>
using namespace std;
vector<string>alltxt;
void writeTxt()
{
ofstream fout("b.txt");
if (fout) {
完整代码,请移步到公众号:诗一样的代码。
}
fout.close();
}
//读取文件
void encode()
{
ifstream infile;
infile.open("a.txt",std::ios::app);
string s;
cout<<"请输入密码:";
int pw;
cin>>pw;
while(getline(infile,s))
{
完整代码,请移步到公众号:诗一样的代码。
alltxt.push_back(s);
}
infile.close();
}
void decode()
{
ifstream infile;
infile.open("b.txt",std::ios::app);
ofstream fout("c.txt");
string s;
while(getline(infile,s))
{
完整代码,请移步到公众号:诗一样的代码。
cout<<s<<endl;
fout<<s<<endl;
}
fout.close();
infile.close();
}
int main()
{
encode();
writeTxt();
decode();
}
由于加密的钥匙是自己填写的,我们可以任意修改填写钥匙。由于加密内容的保密性,我们可以把
1加密后的文本
2解密钥匙
3解密exe
以上全部内容发给小师妹,那事情就成了。
当然,为了增加成功率,你也可以批量发给多个小师妹,只要密码不一样,同一个exe,同一份文本,也不会串频道。(狗头表情,开个玩笑)
小Tips:完整代码,请移步到公众号:诗一样的代码。
转载:https://blog.csdn.net/weixin_57171554/article/details/116754286
查看评论