资源简介
《OSPF协议完全实现》原书源代码的官方修订版,2.0版本
代码片段和文件信息
/* 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. Begins an MD5 operation writing a new context.
*/
void MD5Init (context)
MD5_CTX *context;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6219 2001-05-12 03:56 ospfd_code_2.0\ospfd\linux\linux.C
文件 1832 2001-05-12 03:56 ospfd_code_2.0\ospfd\linux\linux.h
文件 7515 2001-04-04 00:07 ospfd_code_2.0\ospfd\linux\lsa_prn.C
文件 2526 2000-05-10 02:30 ospfd_code_2.0\ospfd\linux\machdep.h
文件 1600 2001-09-27 03:53 ospfd_code_2.0\ospfd\linux\Makefile
文件 14740 2001-11-08 23:49 ospfd_code_2.0\ospfd\linux\ospfd.tcl
文件 43825 2001-06-06 23:16 ospfd_code_2.0\ospfd\linux\ospfd_browser.C
文件 28496 2002-02-15 23:10 ospfd_code_2.0\ospfd\linux\ospfd_linux.C
文件 4716 2001-10-26 23:08 ospfd_code_2.0\ospfd\linux\ospfd_linux.h
文件 19262 2001-03-02 23:43 ospfd_code_2.0\ospfd\linux\ospfd_mon.C
文件 19885 2002-02-15 23:10 ospfd_code_2.0\ospfd\linux\system.C
文件 5899 2000-05-10 02:30 ospfd_code_2.0\ospfd\linux\tcppkt.C
文件 1985 2000-05-10 02:30 ospfd_code_2.0\ospfd\linux\tcppkt.h
文件 1518 2000-05-10 02:30 ospfd_code_2.0\ospfd\ospf_sim\icmp.h
文件 2796 2000-05-10 02:30 ospfd_code_2.0\ospfd\ospf_sim\linux\machdep.h
文件 1832 2001-09-27 03:26 ospfd_code_2.0\ospfd\ospf_sim\linux\Makefile
文件 2001 2000-05-10 02:30 ospfd_code_2.0\ospfd\ospf_sim\linux\sim_linux.C
文件 15317 2001-05-31 22:36 ospfd_code_2.0\ospfd\ospf_sim\mtrace.C
文件 2611 2000-05-10 02:30 ospfd_code_2.0\ospfd\ospf_sim\mtrace.h
文件 26897 2002-02-15 03:36 ospfd_code_2.0\ospfd\ospf_sim\ospfd_sim.C
文件 7174 2002-02-15 03:36 ospfd_code_2.0\ospfd\ospf_sim\ospfd_sim.h
文件 54900 2002-03-09 02:04 ospfd_code_2.0\ospfd\ospf_sim\ospf_sim.tcl
文件 2594 2000-05-10 02:30 ospfd_code_2.0\ospfd\ospf_sim\sample.cfg
文件 37487 2002-03-09 02:25 ospfd_code_2.0\ospfd\ospf_sim\sim.C
文件 4377 2001-05-12 03:24 ospfd_code_2.0\ospfd\ospf_sim\sim.h
文件 5641 2001-06-07 02:20 ospfd_code_2.0\ospfd\ospf_sim\simctl.h
文件 7414 2002-02-15 03:36 ospfd_code_2.0\ospfd\ospf_sim\sim_system.C
文件 2782 2000-05-10 02:30 ospfd_code_2.0\ospfd\ospf_sim\x86\machdep.h
文件 1668 2001-06-02 02:25 ospfd_code_2.0\ospfd\ospf_sim\x86\Makefile
文件 1947 2000-05-10 02:30 ospfd_code_2.0\ospfd\ospf_sim\x86\sim_x86.C
............此处省略90个文件信息
相关资源
- pppd2.4.7源代码以及拨号脚本
- 酒店预订管理系统源代码
- 机会路由源代码+仿真工具(SCORP)
- 批量替换证件照片的底色(含源代码
- cocos2d-x飞机大战项目
- 分享一个远程控制软件源代码
- BLE-CC254x-1.3.2 蓝牙官方源代码
- 程序源代码行数统计工具
- flutter_gallery源代码
- 插件式GIS应用框架的设计与实现&mda
- x264源代码
- 游戏物理引擎开发&源代码.zip
- 易语言征途登陆器源代码源码
- VC++ RS232 RS485串口通信源代码_
- 烟花效果源代码
- 易语言P2P源代码1源码易语言P2P网络电
- ABB机器人教学仿真源代码_搬运应用
- Google OCR API源代码和神经网络识别OC
- 写字板程序具有完整源代码以及清晰
- 基于K60的线性CCD摄像头的自主循迹平
- [b115]FPGA上运行人脸识别源代码.zip
- 机器学习实战高清pdf,中文版+英文版
- 祖玛游戏源代码快下吧快快
- 外挂集含源代码-很好很强大
- Sniffer原理及开源代码
- 红警外挂 源代码 易语言
- 基于arm cortex M3 的LED控制源代码
- 最大子序列和问题四种算法源代码
- 德州扑克源代码.zip
- 兼职类App源代码
评论
共有 条评论