博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c异或加密与解密
阅读量:6838 次
发布时间:2019-06-26

本文共 1456 字,大约阅读时间需要 4 分钟。

void main(void){ int src=54; int pwd=32; int dst=0; dst=src^pwd; printf(" Encryption: %d\n",dst); src=dst^pwd; printf(" Decryption: %d\n",src);} 异或一次就加密了,再异或一次又还原了.

 

实际应用中,常用此方法拓展结合MAC地址加密解密文件,如下:

bool file_encrypt(char* data, int fmoive_type)

{
 if( fd == NULL )
 {
  return false;
 }
 else
 {
  char en_mac[12];
  
  fseek(fd, 0, SEEK_SET);
  fread(en_mac, sizeof(char), 12, fd);
  
  //avi
  if( fmoive_type == 0 )
  {
   en_mac[0] = en_mac[0]^data[0];
   en_mac[0] = en_mac[0]^data[1];
   
   en_mac[1] = en_mac[1]^data[3];
   en_mac[1] = en_mac[1]^data[4];
   
   en_mac[2] = en_mac[2]^data[6];
   en_mac[2] = en_mac[2]^data[7];
   
   en_mac[3] = en_mac[3]^data[9];
   en_mac[3] = en_mac[3]^data[10];
   
   en_mac[8] = en_mac[8]^data[12];
   en_mac[8] = en_mac[8]^data[13];
   
   en_mac[9] = en_mac[9]^data[15];
   en_mac[9] = en_mac[9]^data[16];
  }
  
  //mp4
  if( fmoive_type == 1 )
  {
   //printf("en_mac[0] is %x\n", en_mac[0]);
   en_mac[0] = en_mac[0]^data[0];
   //printf("en_mac[0] is %x\n", en_mac[0]);
   en_mac[0] = en_mac[0]^data[1];
   //printf("en_mac[0] is %x\n", en_mac[0]);
   
   en_mac[1] = en_mac[1]^data[3];
   en_mac[1] = en_mac[1]^data[4];
   
   en_mac[2] = en_mac[2]^data[6];
   en_mac[2] = en_mac[2]^data[7];
   
   en_mac[4] = en_mac[4]^data[9];
   en_mac[4] = en_mac[4]^data[10];
   
   en_mac[5] = en_mac[5]^data[12];
   en_mac[5] = en_mac[5]^data[13];
   
   en_mac[6] = en_mac[6]^data[15];
   en_mac[6] = en_mac[6]^data[16];
  }
  
  fseek(fd, 0, SEEK_SET);
  
  fwrite(en_mac, sizeof(char), 12, fd);
 }
 
 return true;
}

 

转载于:https://www.cnblogs.com/fx2008/archive/2011/11/01/2231867.html

你可能感兴趣的文章
Filebeat的工作原理
查看>>
Elasticsearch配置文件详解
查看>>
Java虚拟机学习 - 查看JVM参数及值的命令行工具
查看>>
Ubiquitous Religions(friends变形)
查看>>
机器学习——聚类分析和主成分分析
查看>>
Win10上 visual studio设置为本地IIS运行网站时 必须以管理员身份加载项目的解决方法...
查看>>
记录常见的HTTP请求错误
查看>>
Java字符串替换函数replace、replaceFirst、replaceAll
查看>>
Ubuntu下搭建Android开发环境
查看>>
汇编指令
查看>>
yum安装mysql后root用户的临时密码
查看>>
mysql 原理~ 乐观锁和悲观锁
查看>>
策略模式
查看>>
neo4j使用
查看>>
MVC WebAPI 的基本使用
查看>>
Oracle 字符集的查看和修改
查看>>
Selection
查看>>
索引的几种使用方式
查看>>
Excel2007给表格设置成只读加密属性 让他人无法修改
查看>>
android wifi USB总线
查看>>