md5.h
来自「vc环境下的MD5信息摘要算法的实现」· C头文件 代码 · 共 39 行
H
39 行
#ifndef MD5_H
#define MD5_H
#include <string>
using std::string;
typedef unsigned char byte;
typedef unsigned long ulong;
static const size_t BUFFER_SIZE = 1024;
class MD5 {
public:
MD5();
MD5(const string &str);
void update(const string &str);//更新信息
const byte* digest();
string toString();//输出结果
void reset();
private:
void update(const byte *input, size_t length);
void final();
void transform(const byte block[64]);
void encode(const ulong *input, byte *output, size_t length);
void decode(const byte *input, ulong *output, size_t length);
string bytesToHexString(const byte *input, size_t length);
/* class uncopyable */
MD5(const MD5&);
MD5& operator=(const MD5&);
ulong _state[4]; /* state (ABCD) */
ulong _count[2]; /* number of bits, modulo 2^64 (low-order word first) */
byte _buffer[64]; /* input buffer */
byte _digest[16]; /* message digest */
bool _finished; /* calculate finished ? */
static const byte PADDING[64]; /* padding for calculate */
static const char HEX[16];
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?