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

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

?? mddriver.c

?? md5加密算法源代碼
?? C
字號:
/* MDDRIVER.C - test driver for MD2, MD4 and MD5
 */

/* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
rights reserved.

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.
 */

/* 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 == 4
#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 1000

static 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;
char *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;

  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));
  /*
   * Be careful that endTime-startTime is not zero.
   * (Bug fix from Ric Anderson, ric@Artisoft.COM.)
   */
  printf
 ("Speed = %ld bytes/second\n",
  (long)TEST_BLOCK_LEN * (long)TEST_BLOCK_COUNT/((endTime-startTime) != 0 ? (endTime-startTime):1));
}

/* 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.
 */
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];
{
  unsigned int i;

  for (i = 0; i < 16; i++)
 printf ("%02x", digest[i]);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
67194成人在线观看| 美女诱惑一区二区| 国产精品一区二区久久精品爱涩 | 亚洲精品久久久蜜桃| 成人激情校园春色| 国产精品国产三级国产有无不卡 | 亚洲精品成人悠悠色影视| 91在线观看视频| 亚洲制服丝袜av| 欧美精品成人一区二区三区四区| 日韩在线卡一卡二| 久久久影院官网| 成人午夜短视频| 亚洲精品成人悠悠色影视| 欧美美女视频在线观看| 国内精品国产三级国产a久久| 国产无一区二区| 色素色在线综合| 蜜臀久久久久久久| 中文字幕va一区二区三区| 色先锋aa成人| 久草中文综合在线| 一区二区中文字幕在线| 欧美日韩国产一区二区三区地区| 麻豆国产精品一区二区三区| 麻豆91在线观看| www国产成人免费观看视频 深夜成人网| 国产精品一级黄| 亚洲欧美另类久久久精品2019| 91麻豆精品国产91久久久久久久久| 国产一区二区三区四区五区入口| 亚洲精品大片www| 欧美精品一区二区久久婷婷| 91免费国产视频网站| 日韩一区精品视频| 中文字幕亚洲电影| 7777精品伊人久久久大香线蕉完整版 | 日韩欧美国产午夜精品| 成人综合婷婷国产精品久久 | 国产色婷婷亚洲99精品小说| 一本久久a久久精品亚洲| 秋霞成人午夜伦在线观看| 中文字幕一区二区三中文字幕| 欧美精品一二三四| 成人av网站免费| 久草在线在线精品观看| 亚洲在线中文字幕| 国产精品女同一区二区三区| 91精品国产欧美一区二区成人| 99久久99久久精品免费看蜜桃| 久久精品久久精品| 亚洲福利一区二区| 国产精品电影一区二区| 欧美mv日韩mv| 欧美日韩一区二区在线观看视频| 成人综合婷婷国产精品久久免费| 蜜桃传媒麻豆第一区在线观看| 中文字幕亚洲电影| 国产人伦精品一区二区| 日韩网站在线看片你懂的| 欧洲人成人精品| 91欧美一区二区| 成人免费毛片嘿嘿连载视频| 国产乱子伦一区二区三区国色天香| 午夜精品成人在线| 亚洲资源中文字幕| 亚洲综合久久久久| 亚洲精品国产一区二区精华液 | 欧美性xxxxxx少妇| 色网站国产精品| 99久久精品国产观看| 成人久久久精品乱码一区二区三区| 欧美日韩国产精品成人| 丁香啪啪综合成人亚洲小说| 人妖欧美一区二区| 亚洲一线二线三线视频| 亚洲视频你懂的| 国产精品乱码久久久久久| 中文在线资源观看网站视频免费不卡| 欧美成人精品1314www| 日韩欧美色综合网站| 日韩视频在线一区二区| 日韩一区二区三区免费看| 91精品国产aⅴ一区二区| 777久久久精品| 日韩欧美一二区| 精品国产乱码久久久久久闺蜜| 精品国产3级a| 国产偷国产偷亚洲高清人白洁 | 欧美久久一二区| 欧美精品在欧美一区二区少妇 | 欧美大片一区二区| 亚洲精品一区在线观看| 国产午夜久久久久| 国产精品理论在线观看| 亚洲色图另类专区| 国产精品综合一区二区三区| 国产一区二区成人久久免费影院 | 国产日产欧美精品一区二区三区| 国产欧美一区二区精品秋霞影院| 中日韩av电影| 亚洲激情av在线| 丝袜美腿亚洲色图| 国产麻豆精品视频| 95精品视频在线| 欧美日韩激情一区二区| 亚洲精品在线免费观看视频| 亚洲国产成人在线| 一区二区三区精密机械公司| 日本不卡的三区四区五区| 国产乱子伦一区二区三区国色天香| 成人h动漫精品一区二区| 91福利在线免费观看| 欧美一区二区三区视频在线观看| 国产午夜精品一区二区三区视频| 亚洲乱码国产乱码精品精小说 | 波多野结衣欧美| 欧美女孩性生活视频| 久久久久久黄色| 亚洲影院理伦片| 狠狠色综合日日| 色94色欧美sute亚洲13| 亚洲精品一区二区三区精华液| 国产精品成人免费| 美女精品一区二区| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 国产午夜三级一区二区三| 亚洲午夜一区二区| 国产成人超碰人人澡人人澡| 欧美图区在线视频| 国产人伦精品一区二区| 91社区在线播放| 日韩一区二区三区免费看 | 国产精品一区二区三区99 | 欧美三片在线视频观看| 精品成人一区二区| 亚洲大片一区二区三区| 国产凹凸在线观看一区二区| 欧美精品 国产精品| 亚洲欧美视频在线观看视频| 九九精品一区二区| 91麻豆精东视频| 国产日韩欧美激情| 美腿丝袜亚洲一区| 欧美系列亚洲系列| 国产精品久久久久久久午夜片| 精品综合久久久久久8888| 欧美色涩在线第一页| 亚洲欧美日韩综合aⅴ视频| 国产成a人亚洲| 精品福利一区二区三区| 视频一区视频二区在线观看| 91免费国产视频网站| 国产视频一区二区在线| 九九热在线视频观看这里只有精品| 日本一区二区视频在线观看| 东方aⅴ免费观看久久av| 51精品秘密在线观看| 成人av电影在线| 久久天堂av综合合色蜜桃网| 日韩av午夜在线观看| 欧美日韩高清不卡| 亚洲电影激情视频网站| 欧美三片在线视频观看| 亚洲女同一区二区| 91免费看`日韩一区二区| 亚洲欧美中日韩| 99国产欧美另类久久久精品| 国产精品高清亚洲| 99久久精品国产观看| 亚洲人午夜精品天堂一二香蕉| 成人激情视频网站| 日韩理论片一区二区| av不卡一区二区三区| 国产精品电影一区二区| 91丨porny丨在线| 亚洲精品视频在线| 欧美在线一二三四区| 午夜电影网一区| 日韩一区二区视频| 久久精品国产成人一区二区三区| 精品国产一区久久| 精品制服美女久久| 在线观看视频一区二区欧美日韩| 亚洲欧洲99久久| a在线欧美一区| 亚洲精品高清在线| 欧美精品久久99久久在免费线 | 亚洲色图视频免费播放| 91日韩在线专区| 亚洲成av人片在www色猫咪| 欧美一激情一区二区三区| 国产精品白丝jk白祙喷水网站| 中文字幕一区二区三区精华液| 色88888久久久久久影院野外| 亚洲va欧美va国产va天堂影院| 日韩精品中文字幕一区| 日韩免费在线观看| 国v精品久久久网| 亚洲精品中文字幕在线观看|