亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rfc1321.txt

?? <VC++網絡游戲建摸與實現>源代碼
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
Rivest                                                          [Page 7]RFC 1321              MD5 Message-Digest Algorithm            April 1992  been defined with C compiler flags. */#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;/* PROTO_LIST is defined depending on how PROTOTYPES is defined above.If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it  returns an empty list. */#if PROTOTYPES#define PROTO_LIST(list) list#else#define PROTO_LIST(list) ()#endifA.2 md5.h/* MD5.H - header file for MD5C.C *//* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. Allrights reserved.License to copy and use this software is granted provided that itis identified as the "RSA Data Security, Inc. MD5 Message-DigestAlgorithm" in all material mentioning or referencing this softwareor this function.License is also granted to make and use derivative works providedthat such works are identified as "derived from the RSA DataSecurity, Inc. MD5 Message-Digest Algorithm" in all materialmentioning or referencing the derived work.RSA Data Security, Inc. makes no representations concerning eitherthe merchantability of this software or the suitability of thissoftware for any particular purpose. It is provided "as is"without express or implied warranty of any kind.Rivest                                                          [Page 8]RFC 1321              MD5 Message-Digest Algorithm            April 1992These notices must be retained in any copies of any part of thisdocumentation and/or software. *//* MD5 context. */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;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 *));A.3 md5c.c/* MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm *//* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. Allrights reserved.License to copy and use this software is granted provided that itis identified as the "RSA Data Security, Inc. MD5 Message-DigestAlgorithm" in all material mentioning or referencing this softwareor this function.License is also granted to make and use derivative works providedthat such works are identified as "derived from the RSA DataSecurity, Inc. MD5 Message-Digest Algorithm" in all materialmentioning or referencing the derived work.RSA Data Security, Inc. makes no representations concerning eitherthe merchantability of this software or the suitability of thissoftware 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 thisdocumentation and/or software. */#include "global.h"#include "md5.h"/* Constants for MD5Transform routine. */Rivest                                                          [Page 9]RFC 1321              MD5 Message-Digest Algorithm            April 1992#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 21static 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)); \Rivest                                                         [Page 10]RFC 1321              MD5 Message-Digest Algorithm            April 1992 (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;                                        /* context */{  context->count[0] = context->count[1] = 0;  /* Load magic initialization constants.*/  context->state[0] = 0x67452301;  context->state[1] = 0xefcdab89;  context->state[2] = 0x98badcfe;  context->state[3] = 0x10325476;}/* MD5 block update operation. Continues an MD5 message-digest  operation, processing another message block, and updating the  context. */void MD5Update (context, input, inputLen)MD5_CTX *context;                                        /* context */unsigned char *input;                                /* input block */unsigned int inputLen;                     /* length of input block */{  unsigned int i, index, partLen;  /* Compute number of bytes mod 64 */  index = (unsigned int)((context->count[0] >> 3) & 0x3F);  /* Update number of bits */  if ((context->count[0] += ((UINT4)inputLen << 3))Rivest                                                         [Page 11]RFC 1321              MD5 Message-Digest Algorithm            April 1992   < ((UINT4)inputLen << 3)) context->count[1]++;  context->count[1] += ((UINT4)inputLen >> 29);  partLen = 64 - index;  /* Transform as many times as possible.*/  if (inputLen >= partLen) { MD5_memcpy   ((POINTER)&context->buffer[index], (POINTER)input, partLen); MD5Transform (context->state, context->buffer); for (i = partLen; i + 63 < inputLen; i += 64)   MD5Transform (context->state, &input[i]); index = 0;  }  else i = 0;  /* Buffer remaining input */  MD5_memcpy ((POINTER)&context->buffer[index], (POINTER)&input[i],  inputLen-i);}/* MD5 finalization. Ends an MD5 message-digest operation, writing the  the message digest and zeroizing the context. */void MD5Final (digest, context)unsigned char digest[16];                         /* message digest */MD5_CTX *context;                                       /* context */{  unsigned char bits[8];  unsigned int index, padLen;  /* Save number of bits */  Encode (bits, context->count, 8);  /* Pad out to 56 mod 64.*/  index = (unsigned int)((context->count[0] >> 3) & 0x3f);  padLen = (index < 56) ? (56 - index) : (120 - index);  MD5Update (context, PADDING, padLen);  /* Append length (before padding) */  MD5Update (context, bits, 8);Rivest                                                         [Page 12]RFC 1321              MD5 Message-Digest Algorithm            April 1992  /* Store state in digest */  Encode (digest, context->state, 16);  /* Zeroize sensitive information.*/  MD5_memset ((POINTER)context, 0, sizeof (*context));}/* MD5 basic transformation. Transforms state based on block. */static void MD5Transform (state, block)UINT4 state[4];unsigned char block[64];{  UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];  Decode (x, block, 64);  /* Round 1 */  FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */  FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */  FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */  FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */  FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */  FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */  FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */  FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */  FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */  FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */  FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */  FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */  FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */  FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */  FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */  FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */ /* Round 2 */  GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */  GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */  GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */  GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */  GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */  GG (d, a, b, c, x[10], S22,  0x2441453); /* 22 */  GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */  GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */  GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */  GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */  GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */Rivest                                                         [Page 13]RFC 1321              MD5 Message-Digest Algorithm            April 1992  GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */  GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */  GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */  GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */  GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */  /* Round 3 */  HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */  HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */  HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */  HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */  HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */  HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */  HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */  HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */  HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */  HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */  HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */  HH (b, c, d, a, x[ 6], S34,  0x4881d05); /* 44 */  HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */  HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */  HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */  HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */  /* Round 4 */  II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */  II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */  II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */  II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */  II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */  II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */  II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */  II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */  II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */  II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */  II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */  II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */  II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */  II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */  II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */  II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */  state[0] += a;  state[1] += b;  state[2] += c;  state[3] += d;  /* Zeroize sensitive information.Rivest                                                         [Page 14]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品亚洲成a人在线观看 | 视频在线观看91| 制服丝袜亚洲网站| 成人小视频免费观看| 午夜精品久久久久久不卡8050| 久久女同性恋中文字幕| 欧美在线免费观看视频| 国产美女精品在线| 亚洲成人在线免费| 国产精品视频一二三| 欧美一区二区在线免费观看| 91女人视频在线观看| 激情小说欧美图片| 欧美bbbbb| 亚洲成av人影院| 亚洲男人的天堂在线观看| 国产亚洲一区二区三区四区| 91精品国产一区二区三区香蕉| 在线国产电影不卡| 99热国产精品| 丁香六月久久综合狠狠色| 久久精品国产99国产精品| 视频一区免费在线观看| 伊人夜夜躁av伊人久久| 亚洲欧洲中文日韩久久av乱码| 欧美激情一区三区| 久久久久88色偷偷免费| 精品国产123| 日韩精品一区二区三区中文精品 | 精品国产凹凸成av人网站| 7777精品伊人久久久大香线蕉完整版| 一本大道久久a久久精品综合| 成人教育av在线| 波多野结衣在线一区| 国产不卡在线一区| 风间由美中文字幕在线看视频国产欧美| 久久精品国产**网站演员| 美女视频第一区二区三区免费观看网站| 亚洲一级二级三级在线免费观看| 亚洲欧美日韩在线不卡| 亚洲欧美激情一区二区| 亚洲精品免费电影| 一区二区三区中文字幕电影| 成人涩涩免费视频| 亚洲成人动漫精品| 日韩视频免费观看高清完整版 | 激情五月婷婷综合网| 亚洲国产精品久久久男人的天堂| 亚洲黄色免费电影| 亚洲精品一卡二卡| 国产精品国产三级国产有无不卡 | 久久精品一级爱片| 国产午夜精品久久久久久免费视| 中文字幕精品—区二区四季| 最近中文字幕一区二区三区| 亚洲精品videosex极品| 亚洲国产日日夜夜| 欧美色图天堂网| 欧美日韩一卡二卡三卡 | 国产成a人亚洲精| 成人激情电影免费在线观看| 91在线观看视频| 欧美色综合影院| 日韩欧美高清dvd碟片| 久久亚洲一级片| 中文字幕亚洲一区二区av在线 | 亚洲午夜精品在线| 亚洲妇女屁股眼交7| 久久成人羞羞网站| 粉嫩在线一区二区三区视频| 一本色道久久加勒比精品| 欧美狂野另类xxxxoooo| 7777精品伊人久久久大香线蕉的 | 亚洲不卡一区二区三区| 久久国产剧场电影| av不卡免费电影| 欧美视频一区在线| 久久免费精品国产久精品久久久久| 国产精品久久国产精麻豆99网站| 一区二区在线免费| 精品一区二区三区日韩| 97se亚洲国产综合自在线观| 欧美绝品在线观看成人午夜影视| 国产日韩欧美制服另类| 亚洲国产wwwccc36天堂| 国产一区二区看久久| 欧美中文字幕一区二区三区 | 最新热久久免费视频| 午夜精彩视频在线观看不卡| 国产成人精品亚洲777人妖| 日本韩国欧美在线| 国产日韩成人精品| 蜜桃视频在线观看一区二区| 99精品桃花视频在线观看| 日韩午夜电影av| 一区二区在线看| 岛国一区二区三区| 精品国产乱码久久久久久老虎| 一区二区三区四区精品在线视频| 国模套图日韩精品一区二区 | 风流少妇一区二区| 欧美一级高清片| 亚洲综合自拍偷拍| 成人免费av网站| 久久综合久久99| 男女男精品网站| 欧美日韩久久一区| 亚洲精品v日韩精品| 成人午夜伦理影院| 久久久久久久久一| 麻豆精品在线播放| 欧美精品电影在线播放| 亚洲免费观看视频| 粉嫩蜜臀av国产精品网站| 日韩午夜中文字幕| 免费在线观看日韩欧美| 欧美亚洲日本国产| 亚洲精品五月天| 成人免费视频国产在线观看| 精品久久久久久久人人人人传媒| 亚洲午夜激情av| 成人av在线观| 中文字幕不卡在线观看| 国产成人综合在线播放| 欧美精选一区二区| 亚洲国产精品久久不卡毛片| 91天堂素人约啪| 久久综合99re88久久爱| 免费亚洲电影在线| 欧美日韩一级黄| 国产网红主播福利一区二区| 亚洲成人av资源| 91精品1区2区| 亚洲精品五月天| 国产精品白丝jk白祙喷水网站| 99热99精品| 日韩一区在线免费观看| 国产精品一区专区| 欧美成人女星排行榜| 免费成人av在线播放| 欧美xxxxxxxx| 日本成人中文字幕在线视频| 欧美日韩在线播放一区| 亚洲天堂福利av| 国产精品资源网| 精品国产免费视频| 免费人成在线不卡| 91久久精品日日躁夜夜躁欧美| 国产精品久久久久久久久久久免费看| 国产69精品久久99不卡| 在线播放一区二区三区| 一区二区三区国产豹纹内裤在线| 成人a区在线观看| 久久―日本道色综合久久 | 亚洲国产精品自拍| 91豆麻精品91久久久久久| 久久蜜桃香蕉精品一区二区三区| 老色鬼精品视频在线观看播放| 欧美伦理电影网| 精品一区二区三区免费视频| 欧美精品 国产精品| 视频精品一区二区| 91.xcao| 亚洲美女免费在线| 欧美成人激情免费网| 九一久久久久久| 国产欧美视频在线观看| 精品一区二区三区视频| 久久在线观看免费| 成人免费不卡视频| 一区二区三区四区中文字幕| 91老师片黄在线观看| 调教+趴+乳夹+国产+精品| 日韩午夜中文字幕| 国产成人免费av在线| 欧美国产精品中文字幕| 欧美中文字幕一区| 久久国产精品免费| 久久精品人人做| 国产一区激情在线| 一区二区三区四区在线免费观看 | 青娱乐精品在线视频| 在线电影一区二区三区| 国产成人精品一区二| 亚洲免费观看高清完整版在线观看熊 | 韩国毛片一区二区三区| 国产精品每日更新| 色婷婷综合激情| 精品一二三四区| 亚洲色图制服丝袜| 欧美日韩色一区| 国产一区二区三区av电影| 中文字幕一区二区三区四区| 欧美日韩免费观看一区二区三区 | 三级影片在线观看欧美日韩一区二区 | 国产欧美精品国产国产专区| 色综合久久综合网| 久久66热偷产精品| 亚洲特级片在线| 日韩免费看的电影|