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

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

?? md5c.c

?? 利用c++的 文件加密設計 可以運行 但是沒有詳細的 說明
?? C
字號:
/* MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm *//* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All   rights reserved.   License to copy and use this software is granted provided that it   is identified as the "RSA Data Security, Inc. MD5 Message-Digest   Algorithm" in all material mentioning or referencing this software   or this function.   License is also granted to make and use derivative works provided   that such works are identified as "derived from the RSA Data   Security, Inc. MD5 Message-Digest Algorithm" in all material   mentioning or referencing the derived work.                                                                         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.   */#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一区二区三区免费野_久草精品视频
国产精品一二三四| 成人中文字幕电影| 一区二区免费视频| 国产精品久久久久久久第一福利 | 亚洲18影院在线观看| 亚洲精品高清视频在线观看| 亚洲人成网站精品片在线观看| 日韩精品一二三区| 久草热8精品视频在线观看| 精品一二三四在线| 国产麻豆精品theporn| 国产精品香蕉一区二区三区| 成人性生交大片免费看视频在线| 成人午夜看片网址| 色中色一区二区| 在线成人免费观看| 日韩欧美国产综合一区| 久久久噜噜噜久久中文字幕色伊伊| 久久色.com| 综合久久一区二区三区| 亚洲国产精品一区二区www在线| 亚洲国产成人tv| 韩国女主播成人在线| 不卡视频一二三四| 欧美喷水一区二区| 久久精品男人天堂av| 亚洲欧美另类图片小说| 亚洲一二三级电影| 精品一区二区精品| 91视频免费播放| 91精品国产综合久久精品图片| 亚洲精品一区在线观看| 国产精品国产成人国产三级| 亚洲大片精品永久免费| 九九九精品视频| 97久久人人超碰| 91精品国产一区二区三区| 国产亚洲女人久久久久毛片| 亚洲精品国产精华液| 捆绑变态av一区二区三区| 国产在线不卡视频| 欧美亚洲自拍偷拍| 久久综合色8888| 亚洲综合免费观看高清完整版 | 在线观看区一区二| 欧美mv日韩mv| 一区二区三区在线影院| 久久精品国产网站| 一本在线高清不卡dvd| 日韩区在线观看| 中文字幕一区二区三区不卡| 日本中文在线一区| 97精品超碰一区二区三区| 日韩区在线观看| 亚洲综合区在线| 成人h动漫精品一区二区| 宅男噜噜噜66一区二区66| 国产精品欧美久久久久无广告| 香蕉久久一区二区不卡无毒影院| 国产成人免费视频网站| 777欧美精品| 一区二区在线观看视频 | 欧美一区永久视频免费观看| 中文字幕av不卡| 蜜桃av一区二区三区电影| 91在线视频播放| 国产日韩高清在线| 免费精品99久久国产综合精品| 91麻豆自制传媒国产之光| 久久精品视频在线看| 日本aⅴ免费视频一区二区三区 | 亚洲欧美另类图片小说| 日韩欧美一区二区免费| 亚洲夂夂婷婷色拍ww47| 成人黄色网址在线观看| 久久一区二区视频| 日本大胆欧美人术艺术动态| 欧美在线视频不卡| 亚洲欧洲日韩女同| 粗大黑人巨茎大战欧美成人| 精品捆绑美女sm三区| 亚洲高清视频中文字幕| 91在线观看一区二区| 欧美国产精品v| 国产一区欧美日韩| www久久精品| 韩国三级中文字幕hd久久精品| 91.xcao| 首页国产欧美久久| 欧美日精品一区视频| 伊人色综合久久天天人手人婷| 972aa.com艺术欧美| 国产精品电影一区二区三区| 成人手机电影网| 中文天堂在线一区| 成人黄色免费短视频| 国产精品午夜在线| 高清不卡在线观看| 欧美极品xxx| 波多野结衣亚洲| 国产精品久久久久久久岛一牛影视| 成人免费精品视频| 国产精品二三区| 91黄色免费观看| 亚洲国产精品久久人人爱蜜臀 | 精品国产三级电影在线观看| 激情综合色综合久久| 久久影院视频免费| 国产福利一区二区三区在线视频| 久久蜜桃av一区二区天堂| 国产精品456露脸| 国产精品精品国产色婷婷| 91丨porny丨国产| 亚洲一级二级在线| 91精品国产美女浴室洗澡无遮挡| 日本亚洲天堂网| 麻豆久久久久久| 久久综合五月天婷婷伊人| 国产成人综合在线观看| 国产精品久久毛片| 在线观看www91| 免费久久99精品国产| 国产欧美日韩另类视频免费观看 | 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 欧美日韩中文国产| 三级成人在线视频| 久久综合狠狠综合| 不卡在线观看av| 亚洲国产日韩综合久久精品| 日韩片之四级片| 国产精品一二三区| 亚洲精品视频观看| 欧美一卡在线观看| 成人午夜在线播放| 亚洲成人资源在线| www国产成人免费观看视频 深夜成人网| 成人综合婷婷国产精品久久免费| 樱花影视一区二区| 欧美电影免费提供在线观看| 成人手机电影网| 日本中文字幕一区二区视频 | 激情五月婷婷综合| 国产精品短视频| 日韩一二三四区| caoporn国产一区二区| 日本欧美一区二区三区乱码| 国产精品丝袜一区| 777奇米四色成人影色区| 丁香婷婷深情五月亚洲| 午夜精品福利视频网站| 久久久不卡网国产精品一区| 欧美在线你懂的| 国产精品一区二区在线看| 亚洲一区二区影院| 久久九九久久九九| 欧美欧美午夜aⅴ在线观看| 国产成人精品aa毛片| 香蕉久久一区二区不卡无毒影院 | 国产精品久久久久久户外露出| 欧美日韩亚洲综合| 成人午夜在线视频| 正在播放亚洲一区| 成人avav影音| 精品无人区卡一卡二卡三乱码免费卡 | 亚洲一区二区三区四区中文字幕| 精品国产一区二区三区久久久蜜月 | 亚洲黄色尤物视频| 国产亚洲人成网站| 6080午夜不卡| 91碰在线视频| 国产成人在线视频网站| 日韩**一区毛片| 樱桃视频在线观看一区| 国产精品免费aⅴ片在线观看| 日韩精品一区二区三区在线播放 | 国产精品午夜免费| 精品久久久久久无| 777色狠狠一区二区三区| 一本一道久久a久久精品| 国产成人综合自拍| 精品一区中文字幕| 日本亚洲三级在线| 天涯成人国产亚洲精品一区av| 《视频一区视频二区| 久久精品欧美一区二区三区麻豆| 日韩欧美不卡一区| 欧美精品乱码久久久久久| 色综合久久中文字幕| 成人av网址在线观看| 国产成人午夜电影网| 精品一区二区三区在线播放| 午夜精品福利一区二区蜜股av| 亚洲主播在线播放| 亚洲综合男人的天堂| 一区二区三区四区不卡在线 | 国产精品一区二区三区99| 蜜桃精品视频在线| 免费高清成人在线| 久久福利视频一区二区| 91黄视频在线观看|