首页
社区
课程
招聘
[旧帖] C++转易语言,会的帮下谢谢.有完整源码 0.00雪花
发表于: 2010-1-31 01:19 8887

[旧帖] C++转易语言,会的帮下谢谢.有完整源码 0.00雪花

2010-1-31 01:19
8887
const char gamestr[128] =
{0x4E, 0x3E, 0x54, 0x53, 0x56, 0x55, 0x4A, 0x6C, 0x77, 0x64,
0x63, 0x42, 0x4D, 0x46, 0x6A, 0x6E, 0x41, 0x4B, 0x62, 0x3F,
0x71, 0x78, 0x76, 0x79, 0x65, 0x47, 0x7A, 0x66, 0x4C, 0x50,
0x3D, 0x5F, 0x45, 0x52, 0x40, 0x5A, 0x5C, 0x61, 0x6D, 0x5D,
0x43, 0x68, 0x67, 0x6F, 0x57, 0x44, 0x3B, 0x51, 0x75, 0x58,
0x5B, 0x3C, 0x74, 0x6B, 0x70, 0x72, 0x5E, 0x60, 0x69, 0x49,
0x48, 0x4F, 0x59, 0x73, 0x2E, 0x33, 0x1E, 0x01, 0x13, 0x22,
0x10, 0x0B, 0x28, 0x2D, 0x20, 0x0D, 0x19, 0x3C, 0x3B, 0x06,
0x11, 0x1C, 0x0C, 0x00, 0x3D, 0x1D, 0x2F, 0x21, 0x03, 0x02,
0x05, 0x04, 0x2C, 0x31, 0x3E, 0x23, 0x32, 0x24, 0x27, 0x38,
0x1F, 0x39, 0x25, 0x12, 0x0A, 0x09, 0x18, 0x1B, 0x2A, 0x29,
0x3A, 0x0E, 0x35, 0x07, 0x26, 0x0F, 0x2B, 0x36, 0x14, 0x37,
0x3F, 0x34, 0x30, 0x16, 0x08, 0x15, 0x17, 0x1A};

/*加密部分函数
  in         输入字符串指针
  out        输出字符串指针
  len        输入字符串长度
      返回        意义
       >=0        加密后在out里面的字符串长度
*/
int Encode(char * in, char * out, int len)
{
  char a1, d1 ;
  int i,count,di,si;
  int encode_len = len / 3 * 4; //返回加密后数据长度
  int rLen;
  rLen=strlen(in);
  if(len < 1)
    return 0;
  for(di = 0, si = 0, count = len / 3, i = 0; i < count; i++)
  {
    //第一次转换
    //每3个字节作为一组(一次循环),输出4个字节(因为第一个被处理了2次)
    //第一个字节移位运算
    a1 = (in[di] 0xFF) >> 2;
    out[si] = a1;
    //第一个字节第二次移位运算
    a1 = (in[di] 3) << 4;
    d1 = (in[di + 1] 0xFF) >> 4;
    a1 = a1 | d1;
    out[si + 1] = a1;
    //第二个字节移位运算
    a1 = (in[di + 1] 0x0F) << 2;
    d1 = (in[di + 2] 0xFF) >> 6;
    a1 = a1 | d1;
    out[si + 2] = a1;
    //第三个字节移位运算
    a1 = in[di + 2] 0x3F;
    out[si + 3] = a1;
    //第二次转换
    //把第一次加密后的数据用索引表中的数据替换一遍
    //第一个字节替换
    d1 = gamestr[out[si]];
    out[si] = d1;
    //第二个字节替换
    d1 = gamestr[out[si + 1]];
    out[si + 1] = d1;
    //第三个字节替换
    d1 = gamestr[out[si + 2]];
    out[si + 2] = d1;
    //第四个字节替换
    d1 = gamestr[out[si + 3]];
    out[si + 3] = d1;
    di += 3;
    si += 4;
  }
//  const char* p=gamestr[rLen];
  memset(out-1,gamestr[rLen],1);
  return encode_len;
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 107
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
还是保留1楼的代码
2010-1-31 17:31
0
雪    币: 107
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
一楼的那部分就可以了
2010-1-31 17:31
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感激膜拜中。。。
2010-1-31 17:32
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
5
这种问题还要问? 工作量太大了吧  学习下易语言语法 很简单的
2010-1-31 17:52
0
雪    币: 107
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
一楼那部分代码就可以了呀
2010-1-31 18:08
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这么长的代码  看到都怕怕的 !!!
2010-2-1 18:03
0
雪    币: 254
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
做成dll给易调用算了
2010-2-2 00:11
0
雪    币: 107
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我也想这样,但是我不会C++  你可以做个给我调用吗?  比如这样的。  加密C1(”里面是文本内容“)
2010-2-3 00:28
0
雪    币: 254
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
回去学下吧- -,我讨厌易
2010-2-3 01:53
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
反对楼上讨厌易的。

感觉调用可以
2010-2-3 04:34
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
12
如果说你只需要翻译一楼那个部分   你就应该把2楼的那些烦人的代码删掉, 问题的重点在一楼而不是二楼,很有可能人家看完一楼还没来得及看3楼,光看到2楼就不想往下看了,因为代码量太大了,就是想告诉你问问题要突出重点,不相干的一律不要提!
说实话,如果一开始我没有看到2楼的那一大片的代码,我应该已经翻译好了,我相信也许其他人也是这样想的。。。
不喜欢我说的就当是屁话了,谢谢!
2010-2-3 08:53
0
雪    币: 65
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
同意楼上的,自已学E语言不就行了
2010-2-3 09:33
0
雪    币: 107
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
自己在顶下....
2010-2-3 18:35
0
雪    币: 80
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
最难看的就是E 虽说都是中文
2010-2-3 22:23
0
游客
登录 | 注册 方可回帖
返回
//