資源簡介
MD5算法原理和實現都已給出……MD5算法文件、頭文件、驅動文件……

代碼片段和文件信息
/*?MD5C.C?-?RSA?Data?Security?Inc.?MD5?message-digest?algorithm
?*/
/*?Copyright?(C)?1991-2?RSA?Data?Security?Inc.?Created?1991.?All
rights?reserved.
License?to?copy?and?use?this?software?is?granted?provided?that?it
is?identified?as?the?“RSA?Data?Security?Inc.?MD5?Message-Digest
Algorithm“?in?all?material?mentioning?or?referencing?this?software
or?this?function.
License?is?also?granted?to?make?and?use?derivative?works?provided
that?such?works?are?identified?as?“derived?from?the?RSA?Data
Security?Inc.?MD5?Message-Digest?Algorithm“?in?all?material
mentioning?or?referencing?the?derived?work.
RSA?Data?Security?Inc.?makes?no?representations?concerning?either
the?merchantability?of?this?software?or?the?suitability?of?this
software?for?any?particular?purpose.?It?is?provided?“as?is“
without?express?or?implied?warranty?of?any?kind.
These?notices?must?be?retained?in?any?copies?of?any?part?of?this
documentation?and/or?software.
?*/
#include?“global.h“
#include?“md5.h“
/*?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));
static?unsigned?char?PADDING[64]?=?{
??0x80?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0
??0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0
??0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0
};
/*?F?G?H?and?I?are?basic?MD5?functions.
?*/
#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)))
/*?ROTATE_LEFT?rotates?x?left?n?bits.
?*/
#define?ROTATE_LEFT(x?n)?(((x)?<(n))?|?((x)?>>?(32-(n))))
/*?FF?GG?HH?and?II?transformations?for?rounds?1?2?3?and?4.
Rotation?is?separate?from?addition?to?prevent?recomputation.
?*/
#define?FF(a?b?c?d?x?s?ac)?{?\
?(a)?+=?F?((b)?(c)?(d))?+?(x)?+?(UINT4)(ac);?\
?(a)?=?ROTATE_LEFT?((a)?(s));?\
?(a)?+=?(b);?\
??}
#define?GG(a?b?c?d?x?s?ac)?{?\
?(a)?+=?G?((b)?(c)?(d))?+?(x)?+?(UINT4)(ac);?\
?(a)?=?ROTATE_LEFT?((a)?(s));?\
?(a)?+=?(b);?\
??}
#define?HH(a?b?c?d?x?s?ac)?{?\
?(a)?+=?H?((b)?(c)?(d))?+?(x)?+?(UINT4)(ac);?\
?(a)?=?ROTATE_LEFT?((a)?(s));?\
?(a)?+=?(b);?\
??}
#define?II(a?b?c?d?x?s?ac)?{?\
?(a)?+=?I?((b)?(c)?(d))?+?(x)?+?(UINT4)(ac);?\
?(a)?=?ROTATE_LEFT?((a)?(s));?\
?(a)?+=?(b);?\
??}
/*?MD5?initialization.?Begi
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????817??1995-08-09?09:25??md5\global.h
?????文件????????115??1995-08-10?23:21??md5\Makefile
?????文件???????1388??1995-08-09?09:25??md5\md5.h
?????文件??????10768??1995-08-09?09:25??md5\md5c.c
?????文件???????5094??1995-08-09?09:37??md5\mddriver.c
?????文件???????1099??1995-08-09?09:23??md5\test-suite
?????目錄??????????0??2009-09-11?23:08??md5
-----------?---------??----------?-----??----
????????????????19281????????????????????7
- 上一篇:基于IIC總線PCF8591AD轉換的仿真測試
- 下一篇:QT的簡要界面設計的一個
評論
共有 條評論