飞道的博客

【情书加密】,c++花式表白,这样泡小师妹,没跑了。

268人阅读  评论(0)

【花式表白】,情书加密,这样泡小师妹,没跑了。
首先先上效果图。

文件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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场