加密解密_异或方式进行加密解密

异或运算,我认为这是一种算法,一种思维方式,更是一个解决问题的方法!一句话概括便是相同为0,不同为1.

就是这简简单单的一句话,却可以帮助我们实现很多事情。

以下便是程序代码,仅供大家参考学习:

 //采用异或的方式进行加密解密
 #include <iostream>
 using namespace std;
 ​
 int main() {
     char srcFileName[20];
     char dstFileName[20];
     cout<<"请输入待加密文件名:"<<endl; 
     cin >> srcFileName;
     cout<<"请输入加密后文件名"<<endl;
     cin >> dstFileName;
     //循环读取源文件内容,写入目的文件 
     int r;
     FILE* fpSrc = fopen(srcFileName,"rb");
     FILE* fpDst = fopen(dstFileName,"wb");//只写方式打开或新建一个二进制文件,只允许写数据。 
     char temp;
     while(1)
     {
         //从src文件中读取一个字节的数据放到temp中
         r = fread(&temp,1,1,fpSrc);
         if(r == 1){
             temp ^= 0x45;//加密,异或,01000101 
             fwrite(&temp,1,1,fpDst);
         } 
     }
     // 关闭保存两个文件 
     fclose(fpSrc);
     fclose(fpDst);
     while(1);
     return 0;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值