📄 md5pro.h
字号:
/********************************************************
*
* Copyright(c) 2001-2002 JUMP Networks.All Rights Reserved
*
* PROJ.NAME :IDSConsole
* DATE :2002/03/29
* VERSION :1.0
* AUTHOR :XieRongQing
* DESCRIPTION :Head file of "MD5Pro.cpp"
*
********************************************************/
// MD5Pro.h: interface for the CMD5Pro class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MD5PRO_H__32BE524B_E5EF_4982_BAC6_AD649E5B6163__INCLUDED_)
#define AFX_MD5PRO_H__32BE524B_E5EF_4982_BAC6_AD649E5B6163__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//=================================================
#ifndef PROTOTYPES
#define PROTOTYPES 0
#endif
/* POINTER defines a generic pointer type */
typedef unsigned char *POINTER;
/* UINT2 defines a two byte word */
typedef unsigned short int UINT2;
/* UINT4 defines a four byte word */
typedef unsigned long int UINT4;
#if PROTOTYPES
#define PROTO_LIST(list) list
#else
#define PROTO_LIST(list) ()
#endif
typedef struct {
UINT4 state[4]; /* state (ABCD) */
UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
unsigned char buffer[64]; /* input buffer */
} MD5_CTX_PWD;
class CMD5Pro
{
public:
CMD5Pro();
virtual ~CMD5Pro();
void MD5Init(MD5_CTX_PWD *context);
void MD5Update(MD5_CTX_PWD *context,unsigned char *input,unsigned int inputLen);
void MD5Final(unsigned char digest[16],MD5_CTX_PWD *contex);
static void MD5Transform(UINT4 state[4], unsigned char block[64]);
static void Encode(unsigned char *output ,UINT4 *input, unsigned int len);
static void Decode(UINT4 *output,unsigned char *input, unsigned int len);
static void MD5_memcpy(POINTER output, POINTER input, unsigned int len);
static void MD5_memset(POINTER output, int value, unsigned int len);
};
#endif // !defined(AFX_MD5PRO_H__32BE524B_E5EF_4982_BAC6_AD649E5B6163__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -