zoukankan      html  css  js  c++  java
  • c异或加密与解密

    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;
    }

     

  • 相关阅读:
    将博客搬至CSDN
    JAVA代码备注
    清空数据库SQL
    实战ASP.NET访问共享文件夹(含详细操作步骤)
    我希望我知道的七个JavaScript技巧 译(转)
    ASP.NET获取客户端网卡使用的MAC地址信息
    JS中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
    JS屏幕距离参数
    jQuery插件开发精品教程,让你的jQuery提升一个台阶
    jQuery编程的最佳实践
  • 原文地址:https://www.cnblogs.com/fx2008/p/2231867.html
Copyright © 2011-2022 走看看