md5.h

来自「802.1x 源码,基于linux平台开发」· C头文件 代码 · 共 66 行

H
66
字号
#ifndef	__MD5_H__
#define	__MD5_H__

#ifndef ULONG
#define	INT		int
#define	UINT		u32
#define ULONG		u32
#define USHORT		u16
#define UCHAR		u8

#define BOOLEAN		u8
#define LONGLONG	s64
#define ULONGLONG	u64
#define VOID		void
#define	LONG		int
#endif	// ULONG

#define	NdisZeroMemory(buff, buff_size)		\
{						\
	memset(buff, 0, buff_size);		\
}

#define	NdisMoveMemory(buff, key, buff_size)	\
{						\
	memcpy(buff, key, buff_size);		\
}

#ifdef ASSERT
#undef ASSERT
#endif

#define	ASSERT(x)                                                                       \
{                                                                                       \
    if (!(x))                                                                           \
    {                                                                                   \
        printk(KERN_WARNING __FILE__ ":%d assert " #x "failed\n", __LINE__);            \
    }                                                                                   \
}

#define MD5_MAC_LEN 16

typedef struct _MD5_CTX {
	ULONG   Buf[4];             // buffers of four states
	ULONG   LenInBitCount[2];   // length counter for input message, 0 up to 64 bits
	UCHAR   Input[64];          // input message
}   MD5_CTX;

int	hostapd_get_rand(u8 *buf, size_t len);
void	MD5Init(MD5_CTX *pCtx);
void	MD5Update(MD5_CTX *pCtx, UCHAR *pData, ULONG LenInBytes);

void	MD5Final(UCHAR Digest[16], MD5_CTX *pCtx);
void	MD5Transform(ULONG Buf[4], ULONG Mes[16]);

void	md5_mac(UCHAR *key, ULONG key_len, UCHAR *data, ULONG data_len, UCHAR *mac);
void	hmac_md5(UCHAR *key, ULONG key_len, UCHAR *data, ULONG data_len, UCHAR *mac);

#endif // __MD5_H__

#ifndef RC4_H
#define RC4_H

void rc4(u8 *buf, size_t len, u8 *key, size_t key_len);

#endif /* RC4_H */

⌨️ 快捷键说明

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