码迷,mamicode.com
首页 > 编程语言 > 详细

CBrother异或加密与C++异或加密函数

时间:2019-01-15 12:08:43      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:方式   fun   安全   好的   tail   数据   理解   var   i++   

CBrother脚本异或加密与C++异或加密函数

  异或对于数据加密来说是最简单的方式,在一般的安全性要求不是非常高的地方,异或加密是最好的选择。

  C++异或加密代码

  

 1 int g_PWD = 0xffee00aa;    //密码
 2 void XORBuf(char *data,int len)
 3 {
 4     int *buf = (int *)data;
 5     int num = len >> 2;//够4个字节的按整形异或
 6     for (int i = 0 ; i < num ; i++)
 7     {
 8         buf[i] ^= g_PWD;
 9     }
10 
11         //不够4个字节的按位异或
12     int tailnum = len & 0x3;
13     if (tailnum > 0)
14     {
15         char *Byte = (char*)(buf + num);
16         char *key = (char*)&g_PWD;
17 
18         for (int k = 0 ; k < tailnum ; k++)
19         {
20             Byte[k] ^= key[k];
21         }
22     }
23 }

  CBrother异或加密代码

  

var g_PWD = 0xffee00aa;    //全局密钥
function XORCode(byteArray,len)
{
    var num = len >> 2;
    var ilen = num * 4;
    for (var i = 0 ; i < ilen ; i += 4)    //够4个字节的
    {
        var b = byteArray.getByte(i) ^ (g_PWD & 255);
        var b1 = byteArray.getByte(i + 1) ^ (g_PWD >> 8 & 255);
        var b2 = byteArray.getByte(i + 2) ^ (g_PWD >> 16 & 255);
        var b3 = byteArray.getByte(i + 3) ^ (g_PWD >> 24 & 255);

        byteArray.setByte(i,b);
        byteArray.setByte(i + 1,b1);
        byteArray.setByte(i + 2,b2);
        byteArray.setByte(i + 3,b3);
    }
    
        //下面处理不够四个字节的
    var dlen = len - ilen;
    if(dlen >= 1)
    {
        var b = byteArray.getByte(i) ^ (g_PWD & 255);
        print b;
        byteArray.setByte(i++,b);
    }
    
    if(dlen >= 2)
    {
        var b = byteArray.getByte(i) ^ (g_PWD >> 8 & 255);
        print b;
        byteArray.setByte(i++,b);
    }
    
    if(dlen >= 3)
    {
        var b = byteArray.getByte(i) ^ (g_PWD >> 16 & 255);
        byteArray.setByte(i++,b);
    }    
}

 

  对比一下还是很容易理解的

CBrother异或加密与C++异或加密函数

标签:方式   fun   安全   好的   tail   数据   理解   var   i++   

原文地址:https://www.cnblogs.com/aibiancheng123/p/10270549.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!