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

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

?? md2c.c

?? 利用c++的 文件加密設(shè)計(jì) 可以運(yùn)行 但是沒(méi)有詳細(xì)的 說(shuō)明
?? C
字號(hào):
/* MD2C.C - RSA Data Security, Inc., MD2 message-digest algorithm *//* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All   rights reserved.   License to copy and use this software is granted for   non-commercial Internet Privacy-Enhanced Mail provided that it is   identified as the "RSA Data Security, Inc. MD2 Message Digest   Algorithm" in all material mentioning or referencing this software   or this function.   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 "md2.h"static void MD2Transform PROTO_LIST  ((unsigned char [16], unsigned char [16], unsigned char [16]));static void MD2_memcpy PROTO_LIST ((POINTER, POINTER, unsigned int));static void MD2_memset PROTO_LIST ((POINTER, int, unsigned int));/* Permutation of 0..255 constructed from the digits of pi. It gives a   "random" nonlinear byte substitution operation. */static unsigned char PI_SUBST[256] = {  41, 46, 67, 201, 162, 216, 124, 1, 61, 54, 84, 161, 236, 240, 6,  19, 98, 167, 5, 243, 192, 199, 115, 140, 152, 147, 43, 217, 188,  76, 130, 202, 30, 155, 87, 60, 253, 212, 224, 22, 103, 66, 111, 24,  138, 23, 229, 18, 190, 78, 196, 214, 218, 158, 222, 73, 160, 251,  245, 142, 187, 47, 238, 122, 169, 104, 121, 145, 21, 178, 7, 63,  148, 194, 16, 137, 11, 34, 95, 33, 128, 127, 93, 154, 90, 144, 50,  39, 53, 62, 204, 231, 191, 247, 151, 3, 255, 25, 48, 179, 72, 165,  181, 209, 215, 94, 146, 42, 172, 86, 170, 198, 79, 184, 56, 210,  150, 164, 125, 182, 118, 252, 107, 226, 156, 116, 4, 241, 69, 157,  112, 89, 100, 113, 135, 32, 134, 91, 207, 101, 230, 45, 168, 2, 27,  96, 37, 173, 174, 176, 185, 246, 28, 70, 97, 105, 52, 64, 126, 15,  85, 71, 163, 35, 221, 81, 175, 58, 195, 92, 249, 206, 186, 197,  234, 38, 44, 83, 13, 110, 133, 40, 132, 9, 211, 223, 205, 244, 65,  129, 77, 82, 106, 220, 55, 200, 108, 193, 171, 250, 36, 225, 123,  8, 12, 189, 177, 74, 120, 136, 149, 139, 227, 99, 232, 109, 233,  203, 213, 254, 59, 0, 29, 57, 242, 239, 183, 14, 102, 88, 208, 228,  166, 119, 114, 248, 235, 117, 75, 10, 49, 68, 80, 180, 143, 237,  31, 26, 219, 153, 141, 51, 159, 17, 131, 20};static unsigned char *PADDING[] = {  (unsigned char *)"",  (unsigned char *)"\001",  (unsigned char *)"\002\002",  (unsigned char *)"\003\003\003",  (unsigned char *)"\004\004\004\004",  (unsigned char *)"\005\005\005\005\005",  (unsigned char *)"\006\006\006\006\006\006",   (unsigned char *)"\007\007\007\007\007\007\007",  (unsigned char *)"\010\010\010\010\010\010\010\010",  (unsigned char *)"\011\011\011\011\011\011\011\011\011",  (unsigned char *)"\012\012\012\012\012\012\012\012\012\012",  (unsigned char *)"\013\013\013\013\013\013\013\013\013\013\013",  (unsigned char *)"\014\014\014\014\014\014\014\014\014\014\014\014",  (unsigned char *)    "\015\015\015\015\015\015\015\015\015\015\015\015\015",  (unsigned char *)    "\016\016\016\016\016\016\016\016\016\016\016\016\016\016",  (unsigned char *)    "\017\017\017\017\017\017\017\017\017\017\017\017\017\017\017",  (unsigned char *)    "\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020"};/* MD2 initialization. Begins an MD2 operation, writing a new context. */void MD2Init (context)MD2_CTX *context;                                        /* context */{  context->count = 0;  MD2_memset ((POINTER)context->state, 0, sizeof (context->state));  MD2_memset    ((POINTER)context->checksum, 0, sizeof (context->checksum));}/* MD2 block update operation. Continues an MD2 message-digest     operation, processing another message block, and updating the     context. */void MD2Update (context, input, inputLen)MD2_CTX *context;                                        /* context */unsigned char *input;                                /* input block */unsigned int inputLen;                     /* length of input block */{  unsigned int i, index, partLen;    /* Update number of bytes mod 16 */  index = context->count;  context->count = (index + inputLen) & 0xf;    partLen = 16 - index;    /* Transform as many times as possible.    */  if (inputLen >= partLen) {    MD2_memcpy      ((POINTER)&context->buffer[index], (POINTER)input, partLen);    MD2Transform (context->state, context->checksum, context->buffer);    for (i = partLen; i + 15 < inputLen; i += 16)      MD2Transform (context->state, context->checksum, &input[i]);        index = 0;  }  else    i = 0;    /* Buffer remaining input */  MD2_memcpy    ((POINTER)&context->buffer[index], (POINTER)&input[i],     inputLen-i);}/* MD2 finalization. Ends an MD2 message-digest operation, writing the     message digest and zeroizing the context. */void MD2Final (digest, context)unsigned char digest[16];                         /* message digest */MD2_CTX *context;                                        /* context */{  unsigned int index, padLen;  /* Pad out to multiple of 16.   */  index = context->count;  padLen = 16 - index;  MD2Update (context, PADDING[padLen], padLen);  /* Extend with checksum */  MD2Update (context, context->checksum, 16);    /* Store state in digest */  MD2_memcpy ((POINTER)digest, (POINTER)context->state, 16);    /* Zeroize sensitive information.   */  MD2_memset ((POINTER)context, 0, sizeof (*context));}/* MD2 basic transformation. Transforms state and updates checksum     based on block. */static void MD2Transform (state, checksum, block)unsigned char state[16];unsigned char checksum[16];unsigned char block[16];{  unsigned int i, j, t;  unsigned char x[48];    /* Form encryption block from state, block, state ^ block.   */  MD2_memcpy ((POINTER)x, (POINTER)state, 16);  MD2_memcpy ((POINTER)x+16, (POINTER)block, 16);  for (i = 0; i < 16; i++)    x[i+32] = state[i] ^ block[i];    /* Encrypt block (18 rounds).   */  t = 0;  for (i = 0; i < 18; i++) {    for (j = 0; j < 48; j++)      t = x[j] ^= PI_SUBST[t];    t = (t + i) & 0xff;  }      /* Save new state */  MD2_memcpy ((POINTER)state, (POINTER)x, 16);      /* Update checksum.   */  t = checksum[15];  for (i = 0; i < 16; i++)    t = checksum[i] ^= PI_SUBST[block[i] ^ t];  /* Zeroize sensitive information.   */  MD2_memset ((POINTER)x, 0, sizeof (x));}/* Note: Replace "for loop" with standard memcpy if possible. */static void MD2_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 MD2_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;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美韩国一区二区| 国产91丝袜在线18| 亚洲午夜久久久久久久久久久| 国产**成人网毛片九色| 欧美激情一区三区| 99麻豆久久久国产精品免费| 亚洲综合自拍偷拍| 国产婷婷色一区二区三区| 欧美偷拍一区二区| 久久99精品视频| 一区二区三区日韩精品视频| 日韩一区二区在线看| 91在线国内视频| 精品一区二区三区日韩| 五月天欧美精品| 亚洲免费色视频| 亚洲婷婷国产精品电影人久久| 91精品国产综合久久久久久久 | 青青草国产成人99久久| 国产精品进线69影院| 欧美精品一区二区三区一线天视频 | 欧美激情一区不卡| 精品人伦一区二区色婷婷| 91麻豆精品国产自产在线观看一区| 成人av在线网| av中文字幕不卡| 国产精品乡下勾搭老头1| 国产精品一品二品| 国产毛片精品视频| 国产盗摄女厕一区二区三区| 裸体健美xxxx欧美裸体表演| 日韩和欧美的一区| 久久精品久久精品| 国产一区91精品张津瑜| 成人精品小蝌蚪| 粉嫩aⅴ一区二区三区四区 | 亚洲欧美电影院| 亚洲欧美视频一区| 一区二区三区不卡在线观看 | 亚洲一卡二卡三卡四卡五卡| 夜夜精品视频一区二区| 亚洲一区二区三区在线| 日韩一区精品字幕| 黑人巨大精品欧美一区| av一区二区三区黑人| 欧美三级韩国三级日本一级| 日韩一区二区三区av| 精品国产乱码久久久久久免费| 国产精品午夜在线观看| 亚洲777理论| 精品在线观看免费| 色8久久精品久久久久久蜜| 在线播放亚洲一区| 国产欧美精品一区二区色综合朱莉| 亚洲欧美福利一区二区| 精品中文字幕一区二区| 欧美日韩精品一区二区三区四区| 2020国产成人综合网| 天堂精品中文字幕在线| 高清不卡一二三区| 欧美一级搡bbbb搡bbbb| 亚洲与欧洲av电影| 国产成人亚洲综合a∨婷婷| 欧美日韩一二三| 亚洲免费视频成人| 成人一级片网址| 亚洲国产精品99久久久久久久久| 91精品办公室少妇高潮对白| 久久99国产精品麻豆| 日韩在线播放一区二区| 一本大道久久a久久综合| 国产夜色精品一区二区av| 日本成人在线电影网| 欧美日韩日日骚| 亚洲一区二区三区四区五区中文| 国产精品一品二品| 亚洲国产高清aⅴ视频| 国产精品1区2区3区| 精品国产青草久久久久福利| 日日骚欧美日韩| 91精品一区二区三区在线观看| 天天综合色天天综合| 欧美精品色综合| 全国精品久久少妇| 精品国产一区二区三区av性色| 麻豆精品一区二区综合av| 7777精品伊人久久久大香线蕉完整版| 亚洲黄色av一区| 91麻豆精品国产91久久久久久久久| 亚洲韩国精品一区| 日韩欧美视频一区| 国产精品白丝av| 亚洲欧美日韩精品久久久久| 欧美视频一区二区三区在线观看 | 91在线精品一区二区三区| 日韩毛片视频在线看| 欧美亚洲一区二区三区四区| 午夜影院在线观看欧美| 国产喂奶挤奶一区二区三区| 成人av资源网站| 日韩成人精品在线| 国产精品视频线看| 日韩欧美电影一区| 99精品视频在线免费观看| 日韩精品免费专区| 亚洲日韩欧美一区二区在线| 欧美精品第1页| 成年人网站91| 国产综合久久久久久鬼色| 亚洲一区二区黄色| 国产精品国产三级国产a| 欧美一级精品在线| 欧美性感一类影片在线播放| 韩国av一区二区| 日本欧美在线看| 亚洲影院理伦片| 亚洲日穴在线视频| 国产精品第一页第二页第三页| 精品少妇一区二区| 欧美日韩国产首页| 欧美日韩一区二区三区免费看| 99久久伊人网影院| 成人毛片视频在线观看| 国产一区二区精品久久91| 免费看欧美女人艹b| 亚欧色一区w666天堂| 亚洲综合自拍偷拍| 亚洲高清久久久| 午夜欧美2019年伦理| 日本不卡123| 国产精品中文字幕日韩精品| 国产美女精品在线| 99精品久久免费看蜜臀剧情介绍| 不卡欧美aaaaa| 91国产免费观看| 欧美丝袜丝交足nylons图片| www.亚洲激情.com| 成年人网站91| 欧美日韩一级视频| 制服丝袜成人动漫| 91麻豆精品91久久久久久清纯| 欧美日韩一区不卡| 精品精品欲导航| 日韩精品一区二区在线| 精品国产制服丝袜高跟| 4438x亚洲最大成人网| 91精品国产入口在线| 91.xcao| 精品国产免费人成电影在线观看四季| 成人性视频网站| 欧美视频第二页| 精品精品国产高清a毛片牛牛| 久久这里都是精品| 一区二区三区**美女毛片| 亚洲美女偷拍久久| 日韩av网站在线观看| 婷婷成人激情在线网| 97se狠狠狠综合亚洲狠狠| 91激情五月电影| 日韩欧美卡一卡二| 国产精品美女一区二区三区| 一区二区三区在线免费观看| 日本成人在线视频网站| 99热这里都是精品| 2019国产精品| 亚洲6080在线| www.一区二区| 国产精品无码永久免费888| 亚洲一区二区五区| 成人综合婷婷国产精品久久免费| 欧美色图一区二区三区| 亚洲视频中文字幕| 国产suv精品一区二区883| 欧美日韩免费一区二区三区视频| 亚洲视频资源在线| 国产在线视频精品一区| 欧美伦理影视网| 亚洲色图.com| 欧美最猛性xxxxx直播| 中文字幕不卡在线观看| 国产美女主播视频一区| 精品国产凹凸成av人导航| 偷窥少妇高潮呻吟av久久免费| 成人深夜视频在线观看| 3d成人动漫网站| 久久精品999| 日韩视频一区在线观看| 亚洲高清在线精品| 欧美日韩国产高清一区二区| 亚洲精品一二三| 色婷婷国产精品| 日韩极品在线观看| 日韩一区国产二区欧美三区| 日韩电影一区二区三区四区| 欧美日韩国产一级二级| 日韩中文字幕区一区有砖一区| 在线精品亚洲一区二区不卡| 国产精品久久久久三级| 欧美日韩精品一区二区天天拍小说| 亚洲最新视频在线播放|