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

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

?? rfc1321.txt

?? <VC++網絡游戲建摸與實現>源代碼
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
RFC 1321              MD5 Message-Digest Algorithm            April 1992*/  MD5_memset ((POINTER)x, 0, sizeof (x));}/* Encodes input (UINT4) into output (unsigned char). Assumes len is  a multiple of 4. */static void Encode (output, input, len)unsigned char *output;UINT4 *input;unsigned int len;{  unsigned int i, j;  for (i = 0, j = 0; j < len; i++, j += 4) { output[j] = (unsigned char)(input[i] & 0xff); output[j+1] = (unsigned char)((input[i] >> 8) & 0xff); output[j+2] = (unsigned char)((input[i] >> 16) & 0xff); output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);  }}/* Decodes input (unsigned char) into output (UINT4). Assumes len is  a multiple of 4. */static void Decode (output, input, len)UINT4 *output;unsigned char *input;unsigned int len;{  unsigned int i, j;  for (i = 0, j = 0; j < len; i++, j += 4) output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |   (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);}/* Note: Replace "for loop" with standard memcpy if possible. */static void MD5_memcpy (output, input, len)POINTER output;POINTER input;unsigned int len;{  unsigned int i;  for (i = 0; i < len; i++)Rivest                                                         [Page 15]RFC 1321              MD5 Message-Digest Algorithm            April 1992 output[i] = input[i];}/* Note: Replace "for loop" with standard memset if possible. */static void MD5_memset (output, value, len)POINTER output;int value;unsigned int len;{  unsigned int i;  for (i = 0; i < len; i++) ((char *)output)[i] = (char)value;}A.4 mddriver.c/* MDDRIVER.C - test driver for MD2, MD4 and MD5 *//* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. Allrights reserved.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. *//* The following makes MD default to MD5 if it has not already been  defined with C compiler flags. */#ifndef MD#define MD MD5#endif#include <stdio.h>#include <time.h>#include <string.h>#include "global.h"#if MD == 2#include "md2.h"#endif#if MD == 4Rivest                                                         [Page 16]RFC 1321              MD5 Message-Digest Algorithm            April 1992#include "md4.h"#endif#if MD == 5#include "md5.h"#endif/* Length of test block, number of test blocks. */#define TEST_BLOCK_LEN 1000#define TEST_BLOCK_COUNT 1000static void MDString PROTO_LIST ((char *));static void MDTimeTrial PROTO_LIST ((void));static void MDTestSuite PROTO_LIST ((void));static void MDFile PROTO_LIST ((char *));static void MDFilter PROTO_LIST ((void));static void MDPrint PROTO_LIST ((unsigned char [16]));#if MD == 2#define MD_CTX MD2_CTX#define MDInit MD2Init#define MDUpdate MD2Update#define MDFinal MD2Final#endif#if MD == 4#define MD_CTX MD4_CTX#define MDInit MD4Init#define MDUpdate MD4Update#define MDFinal MD4Final#endif#if MD == 5#define MD_CTX MD5_CTX#define MDInit MD5Init#define MDUpdate MD5Update#define MDFinal MD5Final#endif/* Main driver.Arguments (may be any combination):  -sstring - digests string  -t       - runs time trial  -x       - runs test script  filename - digests file  (none)   - digests standard input */int main (argc, argv)int argc;Rivest                                                         [Page 17]RFC 1321              MD5 Message-Digest Algorithm            April 1992char *argv[];{  int i;  if (argc > 1) for (i = 1; i < argc; i++)   if (argv[i][0] == '-' && argv[i][1] == 's')     MDString (argv[i] + 2);   else if (strcmp (argv[i], "-t") == 0)     MDTimeTrial ();   else if (strcmp (argv[i], "-x") == 0)     MDTestSuite ();   else     MDFile (argv[i]);  else MDFilter ();  return (0);}/* Digests a string and prints the result. */static void MDString (string)char *string;{  MD_CTX context;  unsigned char digest[16];  unsigned int len = strlen (string);  MDInit (&context);  MDUpdate (&context, string, len);  MDFinal (digest, &context);  printf ("MD%d (\"%s\") = ", MD, string);  MDPrint (digest);  printf ("\n");}/* Measures the time to digest TEST_BLOCK_COUNT TEST_BLOCK_LEN-byte  blocks. */static void MDTimeTrial (){  MD_CTX context;  time_t endTime, startTime;  unsigned char block[TEST_BLOCK_LEN], digest[16];  unsigned int i;Rivest                                                         [Page 18]RFC 1321              MD5 Message-Digest Algorithm            April 1992  printf ("MD%d time trial. Digesting %d %d-byte blocks ...", MD,  TEST_BLOCK_LEN, TEST_BLOCK_COUNT);  /* Initialize block */  for (i = 0; i < TEST_BLOCK_LEN; i++) block[i] = (unsigned char)(i & 0xff);  /* Start timer */  time (&startTime);  /* Digest blocks */  MDInit (&context);  for (i = 0; i < TEST_BLOCK_COUNT; i++) MDUpdate (&context, block, TEST_BLOCK_LEN);  MDFinal (digest, &context);  /* Stop timer */  time (&endTime);  printf (" done\n");  printf ("Digest = ");  MDPrint (digest);  printf ("\nTime = %ld seconds\n", (long)(endTime-startTime));  printf ("Speed = %ld bytes/second\n",  (long)TEST_BLOCK_LEN * (long)TEST_BLOCK_COUNT/(endTime-startTime));}/* Digests a reference suite of strings and prints the results. */static void MDTestSuite (){  printf ("MD%d test suite:\n", MD);  MDString ("");  MDString ("a");  MDString ("abc");  MDString ("message digest");  MDString ("abcdefghijklmnopqrstuvwxyz");  MDString ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");  MDString ("1234567890123456789012345678901234567890\1234567890123456789012345678901234567890");}/* Digests a file and prints the result.Rivest                                                         [Page 19]RFC 1321              MD5 Message-Digest Algorithm            April 1992 */static void MDFile (filename)char *filename;{  FILE *file;  MD_CTX context;  int len;  unsigned char buffer[1024], digest[16];  if ((file = fopen (filename, "rb")) == NULL) printf ("%s can't be opened\n", filename);  else { MDInit (&context); while (len = fread (buffer, 1, 1024, file))   MDUpdate (&context, buffer, len); MDFinal (digest, &context); fclose (file); printf ("MD%d (%s) = ", MD, filename); MDPrint (digest); printf ("\n");  }}/* Digests the standard input and prints the result. */static void MDFilter (){  MD_CTX context;  int len;  unsigned char buffer[16], digest[16];  MDInit (&context);  while (len = fread (buffer, 1, 16, stdin)) MDUpdate (&context, buffer, len);  MDFinal (digest, &context);  MDPrint (digest);  printf ("\n");}/* Prints a message digest in hexadecimal. */static void MDPrint (digest)unsigned char digest[16];{Rivest                                                         [Page 20]RFC 1321              MD5 Message-Digest Algorithm            April 1992  unsigned int i;  for (i = 0; i < 16; i++) printf ("%02x", digest[i]);}A.5 Test suite   The MD5 test suite (driver option "-x") should print the following   results:MD5 test suite:MD5 ("") = d41d8cd98f00b204e9800998ecf8427eMD5 ("a") = 0cc175b9c0f1b6a831c399e269772661MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13bMD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =d174ab98d277d9f5a5611c2c9f419d9fMD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67aSecurity Considerations   The level of security discussed in this memo is considered to be   sufficient for implementing very high security hybrid digital-   signature schemes based on MD5 and a public-key cryptosystem.Author's Address   Ronald L. Rivest   Massachusetts Institute of Technology   Laboratory for Computer Science   NE43-324   545 Technology Square   Cambridge, MA  02139-1986   Phone: (617) 253-5880   EMail: rivest@theory.lcs.mit.eduRivest                                                         [Page 21]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产91久久久久久一区二区| 艳妇臀荡乳欲伦亚洲一区| 9191久久久久久久久久久| 91免费在线视频观看| 不卡一区二区在线| 成人av资源站| 99精品国产91久久久久久| 成人免费视频免费观看| 波多野洁衣一区| 色综合久久综合网| 欧洲视频一区二区| 欧美日韩三级一区| 555夜色666亚洲国产免| 91精品国产综合久久福利软件| 在线不卡中文字幕| 日韩欧美专区在线| 久久久久亚洲综合| 国产精品国模大尺度视频| 亚洲欧美成人一区二区三区| 亚洲综合色噜噜狠狠| 日韩精品一区第一页| 免费看日韩精品| 国内精品写真在线观看| 国产丶欧美丶日本不卡视频| 99久久综合国产精品| 色婷婷激情综合| 在线成人免费视频| 国产网红主播福利一区二区| 国产精品久久久久久久久免费丝袜| 亚洲欧美视频在线观看视频| 亚洲gay无套男同| 久久国产福利国产秒拍| 成人黄色av电影| 欧美无砖专区一中文字| 欧美不卡一区二区三区四区| 国产精品网站在线观看| 一区二区三区国产豹纹内裤在线| 日韩精品欧美精品| 国产福利一区在线观看| 欧美主播一区二区三区| 日韩欧美激情一区| 国产精品家庭影院| 日本欧美肥老太交大片| 国产不卡视频在线观看| 欧美日韩在线三级| 久久久国产精华| 亚洲一区二区在线免费看| 韩国成人精品a∨在线观看| 91香蕉视频污在线| 欧美xxxx在线观看| 亚洲裸体xxx| 日韩国产欧美三级| 成人精品视频一区| 欧美一区二区私人影院日本| 亚洲国产激情av| 日本成人在线不卡视频| av在线一区二区三区| 日韩美女一区二区三区四区| 亚洲欧洲制服丝袜| 激情图片小说一区| 欧美日韩你懂的| 国产精品国产三级国产aⅴ中文 | 国产精品三级视频| 亚洲大片精品永久免费| 成人性色生活片| 日韩一区二区三区视频在线| 亚洲天堂网中文字| 国产一区二区在线观看免费| 欧美自拍丝袜亚洲| 亚洲视频一二三区| 国产精品综合网| 欧美一卡二卡三卡| 亚洲图片欧美视频| 99久久免费视频.com| 久久婷婷综合激情| 捆绑调教美女网站视频一区| 欧洲激情一区二区| 亚洲区小说区图片区qvod| 国产91精品入口| 欧美v国产在线一区二区三区| 亚洲午夜精品在线| 91免费看视频| 国产精品乱码久久久久久| 国内精品自线一区二区三区视频| 欧美电影一区二区三区| 亚洲国产精品久久久久秋霞影院 | 成人久久视频在线观看| 久久久影视传媒| 久久国产剧场电影| 91麻豆精品国产综合久久久久久 | 成人午夜在线播放| 久久久夜色精品亚洲| 精品一区二区三区视频在线观看| 欧美酷刑日本凌虐凌虐| 亚洲午夜在线电影| 欧美性受xxxx黑人xyx| 亚洲欧美激情一区二区| 99这里只有久久精品视频| 日本一区二区三级电影在线观看 | 欧美群妇大交群的观看方式| 一区二区激情视频| 欧美亚洲动漫制服丝袜| 亚洲国产综合视频在线观看| 日本道免费精品一区二区三区| 亚洲欧美在线aaa| 99久久精品国产导航| 国产精品乱人伦中文| www.亚洲在线| 亚洲欧美日韩电影| 色偷偷久久人人79超碰人人澡| 亚洲欧洲av色图| 日本道精品一区二区三区| 亚洲国产中文字幕在线视频综合| 欧美日韩中文精品| 首页国产欧美日韩丝袜| 欧美一级理论片| 激情图片小说一区| 国产精品网站在线播放| 色综合久久99| 亚洲网友自拍偷拍| 欧美一二三四区在线| 国内外成人在线| 国产精品午夜在线| 欧洲一区二区三区免费视频| 午夜精品一区二区三区电影天堂 | 91精品福利在线| 亚洲韩国精品一区| 欧美成人女星排行榜| 国产高清不卡二三区| 亚洲欧洲中文日韩久久av乱码| 欧美综合天天夜夜久久| 日本中文一区二区三区| 精品国产91九色蝌蚪| 国产99久久久精品| 亚洲制服丝袜一区| 日韩一区二区三区四区五区六区| 国产盗摄女厕一区二区三区| 亚洲欧美一区二区在线观看| 欧美日韩一区二区三区视频| 免费的成人av| 国产精品乱人伦一区二区| 欧美视频你懂的| 韩国午夜理伦三级不卡影院| 国产精品人成在线观看免费| 欧洲精品一区二区| 国内精品在线播放| 夜夜操天天操亚洲| 欧美变态tickling挠脚心| 99精品国产热久久91蜜凸| 丝袜美腿亚洲一区| 国产亚洲综合性久久久影院| 色噜噜狠狠色综合中国| 麻豆精品一区二区三区| 国产精品免费网站在线观看| 欧美午夜精品久久久久久超碰 | 成人av网站大全| 日韩高清一区二区| 国产精品久久毛片a| 日韩一级完整毛片| 色哟哟在线观看一区二区三区| 麻豆精品久久久| 樱桃国产成人精品视频| 久久精品人人做人人爽人人| 欧美精品第1页| 成人sese在线| 国产综合色视频| 亚洲 欧美综合在线网络| 中文字幕高清一区| 日韩欧美久久一区| 精品视频一区 二区 三区| 懂色av中文一区二区三区| 日韩国产高清在线| 亚洲精品欧美二区三区中文字幕| 久久综合九色综合欧美98| 欧美午夜不卡在线观看免费| bt欧美亚洲午夜电影天堂| 国产一区二区看久久| 日韩精品福利网| 伊人性伊人情综合网| 国产精品丝袜91| 久久婷婷成人综合色| 日韩一级片网址| 欧美日韩精品久久久| 91美女在线看| 成人av资源站| 成人动漫一区二区三区| 国产精品99久久久久久似苏梦涵| 日韩精品欧美精品| 手机精品视频在线观看| 一个色妞综合视频在线观看| 国产精品美女久久久久久久久久久| 精品国产免费人成在线观看| 欧美电影在线免费观看| 欧美精品久久99| 欧美另类久久久品| 欧美日韩综合色| 欧美视频第二页| 欧洲精品一区二区| 欧美午夜电影网| 欧美精品视频www在线观看|