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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? md5c.c

?? ssmt郵件服務(wù)器armlinux下的郵件開發(fā)
?? C
字號:
/*MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithmCopyright (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 "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 (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 (MD5_CTX *context, unsigned char *input, unsigned int inputLen)                                                         /* context */                                                     /* input block */                                           /* 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 (unsigned char *digest, MD5_CTX *context)                                                  /* message digest */                                                        /* 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 (UINT4 *state, unsigned char *block){  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 (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 (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 (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 (POINTER output, int value, unsigned int len){  unsigned int i;  for (i = 0; i < len; i++) ((char *)output)[i] = (char)value;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本中文字幕一区| 欧美精品三级在线观看| 久久婷婷国产综合精品青草| 麻豆精品久久精品色综合| 精品国产不卡一区二区三区| 在线亚洲一区二区| 一级特黄大欧美久久久| 欧美网站大全在线观看| 蜜臀av一级做a爰片久久| 精品国产乱码久久久久久免费| 国产一区在线观看麻豆| 国产精品久久久久久久久果冻传媒 | 国产精品亚洲а∨天堂免在线| 精品国产免费久久 | 天堂成人免费av电影一区| 欧美在线免费播放| 日韩二区三区在线观看| 久久综合久久99| 99re成人精品视频| 毛片不卡一区二区| 成人欧美一区二区三区| 欧美三级午夜理伦三级中视频| 精品午夜一区二区三区在线观看| 中文字幕乱码一区二区免费| 欧洲在线/亚洲| 国产一区二区福利| 亚洲精品日产精品乱码不卡| 日韩情涩欧美日韩视频| 成av人片一区二区| 日av在线不卡| 亚洲视频资源在线| 欧美成人女星排行榜| 91丝袜美腿高跟国产极品老师| 日韩国产欧美三级| 中文字幕一区二区三区在线观看| 日韩无一区二区| 91网站在线播放| 国产剧情一区在线| 日本伊人午夜精品| 亚洲女子a中天字幕| 亚洲精品一区二区三区99| 色一情一伦一子一伦一区| 久久国产乱子精品免费女| 亚洲一区成人在线| 日本亚洲免费观看| 国产精品人人做人人爽人人添| 欧美欧美欧美欧美首页| 99国产欧美另类久久久精品 | 亚洲夂夂婷婷色拍ww47| 欧美极品少妇xxxxⅹ高跟鞋| 日韩三级高清在线| 在线视频欧美区| 波多野结衣精品在线| 国内精品嫩模私拍在线| 日韩av网站在线观看| 亚洲韩国一区二区三区| 亚洲色图视频网| 日本一区二区久久| 国产午夜亚洲精品午夜鲁丝片| 91精品国产一区二区三区蜜臀 | 蜜臀av亚洲一区中文字幕| 亚洲一区二区欧美日韩| 亚洲日穴在线视频| 亚洲视频电影在线| 中文字幕在线播放不卡一区| 欧美国产1区2区| 日本一区免费视频| 中文字幕国产一区二区| 久久精品一区二区| 国产欧美一二三区| 欧美激情一区二区| 国产精品三级视频| 亚洲欧美影音先锋| 亚洲女人小视频在线观看| 亚洲视频图片小说| 亚洲精品日韩综合观看成人91| 一区二区三区中文字幕| 亚洲最新视频在线播放| 亚洲一区二区三区视频在线| 亚洲一区二区高清| 视频一区二区不卡| 日韩不卡手机在线v区| 美洲天堂一区二卡三卡四卡视频| 视频一区在线播放| 久久精品免费看| 国产乱码字幕精品高清av| 国产精品自拍一区| gogo大胆日本视频一区| 色女孩综合影院| 欧美日韩国产高清一区二区三区| 国产精品久久久久久亚洲伦| 国产精品剧情在线亚洲| 亚洲欧美色综合| 亚洲v精品v日韩v欧美v专区| 青草av.久久免费一区| 国产麻豆精品在线观看| 成人动漫在线一区| 欧美性猛交一区二区三区精品 | 欧美成人艳星乳罩| 久久久五月婷婷| 亚洲女人的天堂| 日韩成人av影视| 风间由美一区二区三区在线观看 | 久久精品在线观看| 亚洲欧洲精品一区二区精品久久久| 亚洲自拍偷拍欧美| 麻豆中文一区二区| 成人18视频在线播放| 欧美日韩久久一区二区| 久久青草欧美一区二区三区| 国产精品久久毛片| 午夜精品aaa| 国产成人在线免费| 欧美色视频在线| 精品成人一区二区三区四区| 中文字幕 久热精品 视频在线| 亚洲精品videosex极品| 色噜噜夜夜夜综合网| 欧美福利一区二区| 久久欧美中文字幕| 一二三区精品视频| 国产精品一区二区你懂的| 欧美综合色免费| 精品区一区二区| 亚洲一区二区三区视频在线| 国产一级精品在线| 欧美日韩视频一区二区| 国产亚洲视频系列| 日韩福利电影在线观看| 色美美综合视频| 国产欧美日本一区视频| 日韩电影免费在线看| 99久久99久久久精品齐齐| 精品少妇一区二区三区免费观看| 亚洲欧美综合网| 裸体在线国模精品偷拍| 欧美亚洲一区二区在线观看| 国产精品久久免费看| 国产在线播放一区二区三区| 欧美另类videos死尸| 亚洲欧美日韩在线| 成人做爰69片免费看网站| 欧美成人一区二区三区在线观看| 亚洲自拍另类综合| 91在线观看下载| 国产精品午夜电影| 欧美日韩激情在线| 亚洲六月丁香色婷婷综合久久 | 久久久久久久综合日本| 老司机午夜精品| 欧美一区二区三区日韩视频| 亚洲一区免费观看| 91福利视频网站| 亚洲欧美激情插| 色综合久久66| 一区二区在线观看不卡| 91丨九色丨黑人外教| 亚洲欧美自拍偷拍| 99免费精品视频| 亚洲欧美日韩在线| 91精品福利在线| 亚洲精品乱码久久久久久日本蜜臀 | 国产精品美女久久久久久久久久久| 黄一区二区三区| 久久人人爽爽爽人久久久| 国产精品99久久久久久宅男| 亚洲精品一区二区在线观看| 国产一区二区三区最好精华液| 日韩精品中午字幕| 国产在线播放一区三区四| 久久综合丝袜日本网| 风间由美中文字幕在线看视频国产欧美 | 日本一区二区视频在线观看| 福利一区二区在线观看| 国产精品理论片在线观看| 99国产精品久久久久久久久久| 亚洲三级在线观看| 91传媒视频在线播放| 午夜精品久久久久久久99樱桃| 欧美一区二区播放| 国产精品99久久久久久似苏梦涵 | 国产一区中文字幕| 日本不卡一二三区黄网| 91精品黄色片免费大全| 黄色日韩网站视频| 亚洲国产精品99久久久久久久久 | 日韩中文字幕一区二区三区| 日韩女优av电影| 国产成人精品亚洲777人妖| 中文字幕视频一区二区三区久| 91福利国产成人精品照片| 日本亚洲欧美天堂免费| 久久久久久免费网| 色婷婷av一区二区三区gif| 免费三级欧美电影| 国产精品视频一二三区| 欧美在线影院一区二区| 激情久久五月天| 亚洲综合激情小说| 久久先锋影音av|