//md5.h头文件的内容开始
#define uchar unsigned chartypedef unsigned char *pointer;typedef unsigned short int uint2;typedef unsigned long int uint4;#define proto_list(list) list 【程序编程相关:windows GUI 编程指南1 】
#pragma once 【推荐阅读:解决Windows 程序界面闪烁问题的一】
void md5init proto_list ((md5_ctx *));void md5update proto_list ((md5_ctx *, unsigned char *, unsigned int));void md5final proto_list ((unsigned char [16], md5_ctx *)); 【扩展信息:关于windows编程的一些心得(二) 】
//md5 context.typedef struct md5_ctx { uint4 state[4]; // state (abcd) uint4 count[2]; // number of bits, modulo 2^64 (lsb first) unsigned char buffer[64]; // input buffer} md5_ctx;
/* constants for md5transform routine. */
#define s11 7#define s12 12#define s13 17#define s14 22#define s21 5#define s22 9#define s23 14#define s24 20#define s31 4#define s32 11#define s33 16#define s34 23#define s41 6#define s42 10#define s43 15#define s44 21
static void md5transform proto_list ((uint4 [4], unsigned char [64]));static void encode proto_list ((unsigned char *, uint4 *, unsigned int));static void decode proto_list ((uint4 *, unsigned char *, unsigned int));static void md5_memcpy proto_list ((pointer, pointer, unsigned int));static void md5_memset proto_list ((pointer, int, unsigned int));
... 下一页