chpr_b64.h
2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*
* chpr_b64.h
*base64混淆算法
*注意! 该算法只适合混淆敏感性不高的数据
*注意! 对高敏感性数据应使用AES RSA等更强力的加密算法
*注意! 参数里的指针地址必须是4的整数倍
* Created on: 2013-3-15
* Author: mengkefeng
* 函数名编号:GC(01-99)
*/
#ifndef CHPR_B64_H_
#define CHPR_B64_H_
#ifdef __cplusplus
extern "C"
{
#endif
//#ifndef IPT_CONFIG_NO_CODE_OBFU
#define B64_Buffer_Need GC01
#define B64_Encode GC02
#define B64_Decode GC03
//#endif
////一段封存的代码
#ifndef IPT_BASIC_TYPE_DEF
#define IPT_BASIC_TYPE_DEF
typedef unsigned int PLUINT32;
typedef unsigned short PLUINT16;
typedef unsigned char PLBYTE;
typedef unsigned char PLUINT8;
typedef signed int PLINT32;
typedef signed short PLINT16;
typedef signed char PLINT8;
typedef long long PLINT64;
typedef const char PLFNAME;
#define PLTRUE 1
#define PLFALSE 0
#define PLNULL 0
#endif
//#define B64_Encode B6401
//#define B64_Decode B6402
//#define B64_Buffer_Need B6403
////注意! 该算法只适合混淆敏感性不高的数据//////////////////////
////注意! 对高敏感性数据应使用AES RSA等更强力的加密算法/////
////注意! 参数里的指针地址必须是4的整数倍
/**根据原文数据块计算 "buffer" 需要分配的空间大小:内部公式为: ((((input_size+2)/3)*4) + 2)
* @param input_size — 原文数据块的大小
* @return 输出的(字符串长度+1); 若返回值<0, 说明输入参数有误,混淆失败
*/
PLINT32 B64_Buffer_Need(PLUINT32 input_size);
/**将输入的数据块转换成 专有base64格式
* @param buffer — 输入的 原文数据块 和输出的 base64格式字符串,指针地址必须是4的整数倍 ,应分配足够的内存空间,大小为 : b64_Buffer_Need(PLUINT32 input_size)
* @param input_size — 输入的 原文数据块的大小
* @param B64_seeds — 混淆种子,范围是(0 ~ 4294967295)的一个32位整数,编码和解码时必须提供一致的数字(可以理解为一个密钥)
* @return 输出的(字符串长度+1); 若返回值<0, 说明输入参数有误,混淆失败
*/
PLINT32 B64_Encode(PLBYTE* buffer, PLUINT32 input_size,PLUINT32 B64_seeds);
/**将输入的 专有base64格式字符串 转换成 原文数据块
* @param buffer — 输入的 专有base64格式字符串 和 输出的 原文数据块,指针地址必须是4的整数倍
* @param B64_seeds — 混淆种子,范围是(0 ~ 4294967295)的一个32位整数,编码和解码时必须提供一致的数字(可以理解为一个密钥)
* @return 输出的(原文数据块大小); 若返回值<0, 说明输入参数有误,混淆失败
*/
PLINT32 B64_Decode(PLBYTE* buffer,PLUINT32 B64_seeds);
#ifdef __cplusplus
}
#endif
#endif /* CHPR_B64_H_ */