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

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

?? md2.c

?? 最新版本的加密解密算法庫(kù)
?? C
字號(hào):
/* LibTomCrypt, modular cryptographic library -- Tom St Denis * * LibTomCrypt is a library that provides various cryptographic * algorithms in a highly modular and flexible manner. * * The library is free for all purposes without any express * guarantee it works. * * Tom St Denis, tomstdenis@iahu.ca, http://libtomcrypt.org *//* MD2 (RFC 1319) hash function implementation by Tom St Denis */#include "mycrypt.h"#ifdef MD2const struct _hash_descriptor md2_desc ={    "md2",    7,    16,    16,    /* DER encoding */    { 0x30, 0x20, 0x30, 0x0C, 0x06, 0x08, 0x2A, 0x86,       0x48, 0x86, 0xF7, 0x0D, 0x02, 0x02, 0x05, 0x00,       0x04, 0x10 },    18,    &md2_init,    &md2_process,    &md2_done,    &md2_test};static const 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};/* adds 16 bytes to the checksum */static void md2_update_chksum(hash_state *md){   int j;   unsigned char L;   L = md->md2.chksum[15];   for (j = 0; j < 16; j++) {/* caution, the RFC says its "C[j] = S[M[i*16+j] xor L]" but the reference source code [and test vectors] say    otherwise.*/       L = (md->md2.chksum[j] ^= PI_SUBST[(int)(md->md2.buf[j] ^ L)] & 255);   }}static void md2_compress(hash_state *md){   int j, k;   unsigned char t;      /* copy block */   for (j = 0; j < 16; j++) {       md->md2.X[16+j] = md->md2.buf[j];       md->md2.X[32+j] = md->md2.X[j] ^ md->md2.X[16+j];   }   t = (unsigned char)0;   /* do 18 rounds */   for (j = 0; j < 18; j++) {       for (k = 0; k < 48; k++) {           t = (md->md2.X[k] ^= PI_SUBST[(int)(t & 255)]);       }       t = (t + (unsigned char)j) & 255;   }}void md2_init(hash_state *md){   _ARGCHK(md != NULL);   /* MD2 uses a zero'ed state... */   zeromem(md->md2.X, sizeof(md->md2.X));   zeromem(md->md2.chksum, sizeof(md->md2.chksum));   zeromem(md->md2.buf, sizeof(md->md2.buf));   md->md2.curlen = 0;}int md2_process(hash_state *md, const unsigned char *buf, unsigned long len){    unsigned long n;    _ARGCHK(md != NULL);    _ARGCHK(buf != NULL);    if (md-> md2 .curlen > sizeof(md-> md2 .buf)) {                                   return CRYPT_INVALID_ARG;                                                               }                                                                                           while (len > 0) {        n = MIN(len, (16 - md->md2.curlen));        memcpy(md->md2.buf + md->md2.curlen, buf, (size_t)n);        md->md2.curlen += n;        buf            += n;        len            -= n;        /* is 16 bytes full? */        if (md->md2.curlen == 16) {            md2_compress(md);            md2_update_chksum(md);            md->md2.curlen = 0;        }    }    return CRYPT_OK;}int md2_done(hash_state * md, unsigned char *hash){    unsigned long i, k;    _ARGCHK(md != NULL);    _ARGCHK(hash != NULL);    if (md->md2.curlen >= sizeof(md->md2.buf)) {       return CRYPT_INVALID_ARG;    }    /* pad the message */    k = 16 - md->md2.curlen;    for (i = md->md2.curlen; i < 16; i++) {        md->md2.buf[i] = (unsigned char)k;    }    /* hash and update */    md2_compress(md);    md2_update_chksum(md);    /* hash checksum */    memcpy(md->md2.buf, md->md2.chksum, 16);    md2_compress(md);    /* output is lower 16 bytes of X */    memcpy(hash, md->md2.X, 16);#ifdef CLEAN_STACK    zeromem(md, sizeof(hash_state));#endif    return CRYPT_OK;}int md2_test(void){ #ifndef LTC_TEST    return CRYPT_NOP; #else       static const struct {        char *msg;        unsigned char md[16];   } tests[] = {      { "",        {0x83,0x50,0xe5,0xa3,0xe2,0x4c,0x15,0x3d,         0xf2,0x27,0x5c,0x9f,0x80,0x69,0x27,0x73        }      },      { "a",        {0x32,0xec,0x01,0xec,0x4a,0x6d,0xac,0x72,         0xc0,0xab,0x96,0xfb,0x34,0xc0,0xb5,0xd1        }      },      { "message digest",        {0xab,0x4f,0x49,0x6b,0xfb,0x2a,0x53,0x0b,         0x21,0x9f,0xf3,0x30,0x31,0xfe,0x06,0xb0        }      },      { "abcdefghijklmnopqrstuvwxyz",        {0x4e,0x8d,0xdf,0xf3,0x65,0x02,0x92,0xab,         0x5a,0x41,0x08,0xc3,0xaa,0x47,0x94,0x0b        }      },      { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",        {0xda,0x33,0xde,0xf2,0xa4,0x2d,0xf1,0x39,         0x75,0x35,0x28,0x46,0xc3,0x03,0x38,0xcd        }      },      { "12345678901234567890123456789012345678901234567890123456789012345678901234567890",        {0xd5,0x97,0x6f,0x79,0xd8,0x3d,0x3a,0x0d,         0xc9,0x80,0x6c,0x3c,0x66,0xf3,0xef,0xd8        }      }   };   int i;   hash_state md;   unsigned char buf[16];   for (i = 0; i < (int)(sizeof(tests) / sizeof(tests[0])); i++) {       md2_init(&md);       md2_process(&md, (unsigned char*)tests[i].msg, (unsigned long)strlen(tests[i].msg));       md2_done(&md, buf);       if (memcmp(buf, tests[i].md, 16) != 0) {          return CRYPT_FAIL_TESTVECTOR;       }   }   return CRYPT_OK;          #endif}#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
极品少妇一区二区三区精品视频| av在线不卡免费看| 国产91精品精华液一区二区三区| 色综合av在线| 久久精品一区二区三区av| 亚洲韩国精品一区| 成人免费视频视频| 欧美成人伊人久久综合网| 一区二区视频免费在线观看| 国产激情一区二区三区| 91精品国产综合久久香蕉的特点| 国产精品久久久久久久久搜平片| 日本怡春院一区二区| 欧美艳星brazzers| 亚洲欧美日韩国产另类专区| 国产精品白丝av| 精品久久久久久无| 免费观看一级特黄欧美大片| 欧美午夜理伦三级在线观看| 亚洲色图清纯唯美| av在线不卡网| 一区视频在线播放| 国产91精品一区二区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 丝袜亚洲精品中文字幕一区| 97se亚洲国产综合自在线不卡| 久久久激情视频| 精品一二三四区| 精品成人佐山爱一区二区| 日本大胆欧美人术艺术动态 | 精品久久99ma| 日本欧美韩国一区三区| 欧美日韩久久久久久| 亚洲国产美女搞黄色| 欧美日韩一级大片网址| 亚洲一区二区三区中文字幕| 欧美性色综合网| 婷婷久久综合九色国产成人 | 欧美午夜精品久久久久久超碰| 国产精品天干天干在观线| caoporn国产精品| 中文字幕中文字幕一区二区 | 亚洲一二三专区| 欧洲精品一区二区三区在线观看| 亚洲午夜激情网站| 欧美精品久久一区二区三区| 人妖欧美一区二区| 精品毛片乱码1区2区3区| 激情久久五月天| 欧美国产精品一区二区三区| 99国产精品久久久久久久久久 | 国产精品成人一区二区艾草| 91首页免费视频| 亚洲成人av资源| 欧美大片一区二区| 国产a久久麻豆| 亚洲精品日韩专区silk| 欧美精品1区2区3区| 精品一区二区三区免费毛片爱| 国产人成一区二区三区影院| 一本一本大道香蕉久在线精品| 午夜精品在线视频一区| 久久先锋影音av鲁色资源| www.亚洲人| 日韩成人一区二区| 国产欧美一区视频| 欧美四级电影在线观看| 激情小说亚洲一区| 亚洲欧洲制服丝袜| 日韩一区二区三区四区| 波多野洁衣一区| 青草国产精品久久久久久| 日本一区二区动态图| 欧美日韩高清一区二区三区| 国产福利精品一区| 亚洲一区二区偷拍精品| 久久久久久久久蜜桃| 欧美人牲a欧美精品| 成人免费视频免费观看| 日本欧美一区二区在线观看| 自拍偷自拍亚洲精品播放| 日韩免费高清av| 色老汉一区二区三区| 国产一区二区美女诱惑| 亚洲线精品一区二区三区 | 成人综合婷婷国产精品久久蜜臀 | 中文字幕在线一区| 日韩欧美一区在线| 欧美视频中文一区二区三区在线观看| 国产成a人亚洲| 秋霞午夜鲁丝一区二区老狼| 亚洲女同ⅹxx女同tv| 国产欧美视频一区二区三区| 日韩一区二区麻豆国产| 在线观看国产日韩| 9色porny自拍视频一区二区| 精品午夜久久福利影院| 天堂久久一区二区三区| 伊人夜夜躁av伊人久久| 国产欧美一区二区在线观看| 精品久久久久久久久久久久久久久久久 | 久久99精品久久久久久国产越南 | 亚洲综合成人在线视频| 欧美经典一区二区| 精品剧情v国产在线观看在线| 精品视频999| 91福利视频在线| 成人一区二区三区视频| 国产精品亚洲视频| 久久精品噜噜噜成人88aⅴ | 精品久久国产老人久久综合| 91精品蜜臀在线一区尤物| 欧美日韩国产区一| 欧美日韩在线电影| 欧美人与禽zozo性伦| 欧美日韩国产大片| 欧美精品高清视频| 制服丝袜中文字幕一区| 日韩精品资源二区在线| 精品少妇一区二区三区在线视频| 日韩一区二区三区av| 欧美不卡激情三级在线观看| 日韩欧美一区在线观看| 久久奇米777| 国产精品少妇自拍| 亚洲免费三区一区二区| 一区二区在线观看视频| 亚洲日本va午夜在线影院| 一区二区三区不卡视频在线观看| 亚洲一区二区3| 免费欧美在线视频| 国产伦精品一区二区三区免费| 国产尤物一区二区在线| 国产91露脸合集magnet | 欧美日本一区二区三区四区| 欧美精品日韩精品| 久久网站热最新地址| 中国av一区二区三区| 亚洲精品videosex极品| 视频一区在线播放| 国产在线不卡视频| 99久久99久久久精品齐齐| 欧美日韩中文国产| 欧美精品一区二区久久婷婷| 亚洲欧洲精品天堂一级| 视频一区中文字幕| 国产成人福利片| 在线观看亚洲成人| 26uuu亚洲| 亚洲乱码国产乱码精品精的特点 | 精品成人a区在线观看| 国产精品午夜免费| 偷偷要91色婷婷| 福利视频网站一区二区三区| 欧美吻胸吃奶大尺度电影| 久久九九影视网| 午夜伊人狠狠久久| 国产盗摄一区二区三区| 欧美中文字幕一区二区三区 | 日韩一区二区在线观看视频| 国产精品系列在线| 日本亚洲三级在线| 色吧成人激情小说| 久久午夜国产精品| 日韩激情一区二区| 97久久人人超碰| 精品国产亚洲一区二区三区在线观看| 亚洲欧美国产高清| 国产专区综合网| 91精品久久久久久久99蜜桃| 亚洲欧洲综合另类在线| 国产激情一区二区三区| 91精品一区二区三区在线观看| 国产精品久久久久影院老司| 男女性色大片免费观看一区二区 | 久久国产夜色精品鲁鲁99| 色综合天天天天做夜夜夜夜做| 日韩欧美区一区二| 日本网站在线观看一区二区三区| av网站免费线看精品| 精品少妇一区二区| 日韩精品午夜视频| 在线观看国产91| 亚洲欧美视频一区| 99re在线视频这里只有精品| 精品国产一区二区亚洲人成毛片| 日韩精品欧美精品| 91麻豆精品国产91久久久久| 亚洲一区二区三区在线播放| 色狠狠av一区二区三区| 日韩美女视频19| 99re这里只有精品首页| 日韩一区中文字幕| 成人av在线网站| 国产精品成人免费精品自在线观看| 国产一区二区三区久久久 | 成人精品国产免费网站| 久久这里只精品最新地址| 久久99热这里只有精品| 日韩写真欧美这视频|