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

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

?? md5c.c

?? Dos mode MD5 Source code
?? 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. */#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)); \ (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))   < ((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);  /* 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 */  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.*/  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++) 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;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品综合av一区二区国产馆| 在线观看91av| 欧美裸体bbwbbwbbw| 2022国产精品视频| 亚洲一区二区三区小说| 国产成人av影院| 欧美裸体一区二区三区| 国产精品色在线| 久久aⅴ国产欧美74aaa| 欧美午夜不卡视频| 中文字幕一区二| 国产麻豆精品视频| 日韩你懂的在线观看| 日韩精品成人一区二区在线| av日韩在线网站| 国产农村妇女毛片精品久久麻豆| 亚洲精品免费播放| 成人91在线观看| 久久久精品tv| 狠狠色狠狠色综合日日91app| 欧美日韩精品免费| 午夜影院久久久| 欧美午夜精品久久久久久超碰| 亚洲欧洲制服丝袜| 99久久免费视频.com| 国产三级久久久| 国产一区二区三区在线观看免费视频| 3atv在线一区二区三区| 亚欧色一区w666天堂| 欧美日韩一二三区| 亚洲国产精品久久艾草纯爱| 色88888久久久久久影院按摩 | 亚洲成人高清在线| 色婷婷国产精品| 亚洲美女视频一区| 欧美性大战久久| 青青草国产精品97视觉盛宴| 欧美精品日韩精品| 日本sm残虐另类| 日韩精品一区二区在线| 狠狠色伊人亚洲综合成人| 久久综合久久综合久久| 风间由美性色一区二区三区| 亚洲国产精品精华液2区45| 成人精品视频一区二区三区尤物| 国产免费成人在线视频| 成+人+亚洲+综合天堂| 中文字幕一区不卡| 欧美日韩成人在线一区| 精品一区二区三区影院在线午夜| 久久精品一区二区三区四区| 92国产精品观看| 偷窥少妇高潮呻吟av久久免费| 91精品国产欧美一区二区成人| 国产乱对白刺激视频不卡| 国产精品丝袜91| 欧美日韩一区成人| 国产一区二区不卡在线| 亚洲婷婷国产精品电影人久久| 欧美理论在线播放| 国产美女主播视频一区| 亚洲丝袜美腿综合| 日韩一区二区不卡| av中文字幕一区| 日本系列欧美系列| 国产精品久久久久国产精品日日 | 国产精品一二一区| 亚洲一区二区五区| 久久精品一区八戒影视| 欧美主播一区二区三区美女| 日本va欧美va欧美va精品| 国产精品免费网站在线观看| 欧美二区在线观看| 不卡的av在线播放| 青青草成人在线观看| 1024成人网| 久久综合成人精品亚洲另类欧美| 91视视频在线观看入口直接观看www | 国产丶欧美丶日本不卡视频| 亚洲国产另类av| 国产欧美一区二区精品婷婷| 91麻豆精品国产| 91原创在线视频| 黄色日韩网站视频| 午夜视黄欧洲亚洲| 亚洲精品日韩一| 国产日韩欧美综合一区| 91精品国产入口| 欧美亚洲丝袜传媒另类| av不卡免费电影| 国产美女精品在线| 日本va欧美va欧美va精品| 亚洲精品高清视频在线观看| 中文av一区特黄| 久久综合狠狠综合| 2021国产精品久久精品| 在线播放国产精品二区一二区四区 | 精品综合久久久久久8888| 亚洲一区二区三区激情| 亚洲丝袜美腿综合| 中文字幕av一区二区三区免费看 | 国产一区高清在线| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲成人资源网| 亚洲综合色视频| 亚洲精品免费播放| 亚洲美女屁股眼交| 亚洲欧美区自拍先锋| 国产精品二三区| 国产女主播在线一区二区| 欧美va在线播放| 日韩三级精品电影久久久| 7777女厕盗摄久久久| 欧美三级日韩在线| 欧美日韩在线免费视频| 欧美日韩黄视频| 91精品国产综合久久香蕉的特点| 欧美日韩一区小说| 欧美电影一区二区| 日韩欧美一二三| 精品国产乱码久久| 国产亚洲精品免费| 国产精品美女久久福利网站| 1024国产精品| 亚洲电影一级黄| 热久久久久久久| 九九热在线视频观看这里只有精品| 美女www一区二区| 国产乱码精品一品二品| 成人h版在线观看| 色婷婷久久久综合中文字幕| 在线中文字幕一区二区| 欧美一区二区三区男人的天堂| 日韩一级欧美一级| 欧美国产一区在线| 尤物在线观看一区| 美女免费视频一区| 不卡免费追剧大全电视剧网站| 91片在线免费观看| 91精品国产综合久久久久久久| 日韩欧美精品在线| 国产精品色在线观看| 一区二区三区日韩| 麻豆视频一区二区| 成人福利视频在线| 欧美精品1区2区| 国产日韩av一区二区| 亚洲黄色免费电影| 国内外精品视频| 欧美在线看片a免费观看| 精品国产伦一区二区三区观看方式| 国产精品视频免费| 蜜臀av性久久久久蜜臀av麻豆| 国产成人精品午夜视频免费| 在线免费观看不卡av| 亚洲精品在线三区| 亚洲一区影音先锋| 国产成人综合在线播放| 欧美日本一道本| 最好看的中文字幕久久| 精品午夜一区二区三区在线观看| 99久久国产综合精品麻豆| 欧美一区二区在线播放| 国产精品久久精品日日| 日韩av成人高清| 色综合网色综合| 国产丝袜美腿一区二区三区| 五月婷婷激情综合| 99r国产精品| 久久精品人人做人人爽人人| 日韩福利电影在线| 在线亚洲精品福利网址导航| 国产午夜亚洲精品理论片色戒| 亚洲超丰满肉感bbw| 9l国产精品久久久久麻豆| 亚洲精品一区二区三区四区高清| 亚洲一区二区在线观看视频 | 国产精品国产三级国产aⅴ原创 | 欧美日韩一区二区三区在线| 久久久www免费人成精品| 奇米888四色在线精品| 色婷婷综合视频在线观看| 国产天堂亚洲国产碰碰| 激情综合色综合久久综合| 欧美日韩亚洲综合一区二区三区 | 日韩精品一级中文字幕精品视频免费观看 | 日韩国产在线观看一区| 日本道色综合久久| 国产精品午夜电影| 国产成人av一区二区三区在线 | 欧美亚洲图片小说| 一个色在线综合| 91蝌蚪porny| 亚洲免费观看高清完整版在线| 国产.精品.日韩.另类.中文.在线.播放| 91精品国产一区二区人妖| 日精品一区二区| 欧美日韩精品一区二区三区| 亚洲成av人在线观看| 欧美性生活大片视频|