base64md5.h

来自「Base64和MD5编码,功能简单,VC++6.0编译通过」· C头文件 代码 · 共 34 行

H
34
字号

class Base64
{
public:
	void Encode(unsigned char* inBuf,int inLen,unsigned char* outBuf,int &outLen);
	void Decode(unsigned char* inBuf,int inLen,unsigned char* outBuf,int &outLen);
private:

};

#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
#define H(x, y, z) ((x) ^ (y) ^ (z))
#define I(x, y, z) ((y) ^ ((x) | (~z)))

#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32 - (n))))

#define FF(a, b, c, d, x, s, ac) { (a) += F((b), (c), (d)) + (x) + (int)(ac); (a) = ROTATE_LEFT((a), (s)); (a) += (b); }
#define GG(a, b, c, d, x, s, ac) { (a) += G((b), (c), (d)) + (x) + (int)(ac); (a) = ROTATE_LEFT((a), (s)); (a) += (b); }
#define HH(a, b, c, d, x, s, ac) { (a) += H((b), (c), (d)) + (x) + (int)(ac); (a) = ROTATE_LEFT((a), (s)); (a) += (b); }
#define II(a, b, c, d, x, s, ac) { (a) += I((b), (c), (d)) + (x) + (int)(ac); (a) = ROTATE_LEFT((a), (s)); (a) += (b); }
class MD5
{
public:
	void Init();
	void Update(unsigned char* inBuf,int inLen);
	void GetMD5(unsigned char* inBuf,int inLen);
private:
	void Encode(unsigned long x[16]);
    unsigned long  m_state[4];
	unsigned long  m_count[2];
    unsigned char  m_tail[64];
    unsigned long  m_tailLen;
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?