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

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

?? crypt_util.c

?? www工具包. 這是W3C官方支持的www支撐庫. 其中提供通用目的的客戶端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
?? C
?? 第 1 頁 / 共 2 頁
字號:
      for(word_value = 64; word_value--;) {	if(word_value & mask1)	  efp[comes_from_word][word_value][o_long] |= mask2;      }    }        /*     * Create revfinal: an array to undo final     * the effects of efp     */    clearmem((char*)revfinal, sizeof(revfinal));    for(bit = 0; bit < 96; bit++) {      int ibit = initial_perm[esel[bit % 48] - 1 + ((bit >= 48) ? 32 : 0)] - 1;      mask1 = bytemask[ibit % 6 +  2];      mask2 = BITMASK(bit % 24);      for(j = 64; j--;) {        if(j & mask1) {          revfinal[ibit / 6][j][bit / 24] |= mask2;        }      }    }    initialized++;  }/*  * Process the elements of the sb table permuting the * bits swapped in the expansion by the current salt. */#ifdef _UFC_32_STATIC void shuffle_sb(k, saltbits)  long32 *k;  ufc_long saltbits;  { ufc_long j;    long32 x;    for(j=4096; j--;) {      x = (k[0] ^ k[1]) & (long32)saltbits;      *k++ ^= x;      *k++ ^= x;    }  }#endif#ifdef _UFC_64_STATIC void shuffle_sb(k, saltbits)  long64 *k;  ufc_long saltbits;  { ufc_long j;    long64 x;    for(j=4096; j--;) {      x = ((*k >> 32) ^ *k) & (long64)saltbits;      *k++ ^= (x << 32) | x;    }  }#endif/*  * Setup the unit for a new salt * Hopefully we'll not see a new salt in each crypt call. */static unsigned char current_salt[3] = "&&"; /* invalid value */static ufc_long current_saltbits = 0;static int direction = 0;STATIC void setup_salt(s)  char *s;  { ufc_long i, j, saltbits;    if(!initialized)      init_des();    if(s[0] == current_salt[0] && s[1] == current_salt[1])      return;    current_salt[0] = s[0]; current_salt[1] = s[1];        /*      * This is the only crypt change to DES:     * entries are swapped in the expansion table     * according to the bits set in the salt.     */    saltbits = 0;    for(i = 0; i < 2; i++) {      long c=ascii_to_bin(s[i]);#ifdef notdef      /*        * Some applications do rely on illegal       * salts. It seems that UFC-crypt behaves       * identically to standard crypt        * implementations on illegal salts -- glad       */      if(c < 0 || c > 63)	c = 0;#endif      for(j = 0; j < 6; j++) {	if((c >> j) & 0x1)	  saltbits |= BITMASK(6 * i + j);      }    }    /*     * Permute the sb table values     * to reflect the changed e     * selection table     */    shuffle_sb(_ufc_sb0, current_saltbits ^ saltbits);     shuffle_sb(_ufc_sb1, current_saltbits ^ saltbits);    shuffle_sb(_ufc_sb2, current_saltbits ^ saltbits);    shuffle_sb(_ufc_sb3, current_saltbits ^ saltbits);    current_saltbits = saltbits;  }STATIC void ufc_mk_keytab(key)  char *key;  { ufc_long v1, v2, *k1;    int i;#ifdef _UFC_32_    long32 v, *k2 = &_ufc_keytab[0][0];#endif#ifdef _UFC_64_    long64 v, *k2 = &_ufc_keytab[0];#endif    v1 = v2 = 0; k1 = &do_pc1[0][0][0];    for(i = 8; i--;) {      v1 |= k1[*key   & 0x7f]; k1 += 128;      v2 |= k1[*key++ & 0x7f]; k1 += 128;    }    for(i = 0; i < 16; i++) {      k1 = &do_pc2[0][0];      v1 = (v1 << rots[i]) | (v1 >> (28 - rots[i]));      v  = k1[(v1 >> 21) & 0x7f]; k1 += 128;      v |= k1[(v1 >> 14) & 0x7f]; k1 += 128;      v |= k1[(v1 >>  7) & 0x7f]; k1 += 128;      v |= k1[(v1      ) & 0x7f]; k1 += 128;#ifdef _UFC_32_      *k2++ = v;      v = 0;#endif#ifdef _UFC_64_      v <<= 32;#endif      v2 = (v2 << rots[i]) | (v2 >> (28 - rots[i]));      v |= k1[(v2 >> 21) & 0x7f]; k1 += 128;      v |= k1[(v2 >> 14) & 0x7f]; k1 += 128;      v |= k1[(v2 >>  7) & 0x7f]; k1 += 128;      v |= k1[(v2      ) & 0x7f];      *k2++ = v;    }    direction = 0;  }/*  * Undo an extra E selection and do final permutations */ufc_long *_ufc_dofinalperm(l1, l2, r1, r2)  ufc_long l1,l2,r1,r2;  { ufc_long v1, v2, x;    static ufc_long ary[2];    x = (l1 ^ l2) & current_saltbits; l1 ^= x; l2 ^= x;    x = (r1 ^ r2) & current_saltbits; r1 ^= x; r2 ^= x;    v1=v2=0; l1 >>= 3; l2 >>= 3; r1 >>= 3; r2 >>= 3;    v1 |= efp[15][ r2         & 0x3f][0]; v2 |= efp[15][ r2 & 0x3f][1];    v1 |= efp[14][(r2 >>= 6)  & 0x3f][0]; v2 |= efp[14][ r2 & 0x3f][1];    v1 |= efp[13][(r2 >>= 10) & 0x3f][0]; v2 |= efp[13][ r2 & 0x3f][1];    v1 |= efp[12][(r2 >>= 6)  & 0x3f][0]; v2 |= efp[12][ r2 & 0x3f][1];    v1 |= efp[11][ r1         & 0x3f][0]; v2 |= efp[11][ r1 & 0x3f][1];    v1 |= efp[10][(r1 >>= 6)  & 0x3f][0]; v2 |= efp[10][ r1 & 0x3f][1];    v1 |= efp[ 9][(r1 >>= 10) & 0x3f][0]; v2 |= efp[ 9][ r1 & 0x3f][1];    v1 |= efp[ 8][(r1 >>= 6)  & 0x3f][0]; v2 |= efp[ 8][ r1 & 0x3f][1];    v1 |= efp[ 7][ l2         & 0x3f][0]; v2 |= efp[ 7][ l2 & 0x3f][1];    v1 |= efp[ 6][(l2 >>= 6)  & 0x3f][0]; v2 |= efp[ 6][ l2 & 0x3f][1];    v1 |= efp[ 5][(l2 >>= 10) & 0x3f][0]; v2 |= efp[ 5][ l2 & 0x3f][1];    v1 |= efp[ 4][(l2 >>= 6)  & 0x3f][0]; v2 |= efp[ 4][ l2 & 0x3f][1];    v1 |= efp[ 3][ l1         & 0x3f][0]; v2 |= efp[ 3][ l1 & 0x3f][1];    v1 |= efp[ 2][(l1 >>= 6)  & 0x3f][0]; v2 |= efp[ 2][ l1 & 0x3f][1];    v1 |= efp[ 1][(l1 >>= 10) & 0x3f][0]; v2 |= efp[ 1][ l1 & 0x3f][1];    v1 |= efp[ 0][(l1 >>= 6)  & 0x3f][0]; v2 |= efp[ 0][ l1 & 0x3f][1];    ary[0] = v1; ary[1] = v2;    return ary;  }/*  * crypt only: convert from 64 bit to 11 bit ASCII  * prefixing with the salt */STATIC char *output_conversion(v1, v2, salt)  ufc_long v1, v2;  char *salt;  { static char outbuf[14];    int i, s, shf;    outbuf[0] = salt[0];    outbuf[1] = salt[1] ? salt[1] : salt[0];    for(i = 0; i < 5; i++) {      shf = (26 - 6 * i); /* to cope with MSC compiler bug */      outbuf[i + 2] = bin_to_ascii((v1 >> shf) & 0x3f);    }    s  = (v2 & 0xf) << 2;    v2 = (v2 >> 2) | ((v1 & 0x3) << 30);    for(i = 5; i < 10; i++) {      shf = (56 - 6 * i);      outbuf[i + 2] = bin_to_ascii((v2 >> shf) & 0x3f);    }    outbuf[12] = bin_to_ascii(s);    outbuf[13] = 0;    return outbuf;  }ufc_long *_ufc_doit();/*  * UNIX crypt function */   char *crypt(key, salt)  char *key, *salt;  { ufc_long *s;    char ktab[9];    /*     * Hack DES tables according to salt     */    setup_salt(salt);    /*     * Setup key schedule     */    clearmem(ktab, sizeof ktab);    (void)strncpy(ktab, key, 8);    ufc_mk_keytab(ktab);    /*     * Go for the 25 DES encryptions     */    s = _ufc_doit((ufc_long)0, (ufc_long)0, 		  (ufc_long)0, (ufc_long)0, (ufc_long)25);    /*     * Do final permutations     */    s = _ufc_dofinalperm(s[0], s[1], s[2], s[3]);    /*     * And convert back to 6 bit ASCII     */    return output_conversion(s[0], s[1], salt);  }/*  * To make fcrypt users happy. * They don't need to call init_des. */char *fcrypt(key, salt)  char *key;  char *salt;  { return crypt(key, salt);  }/*  * UNIX encrypt function. Takes a bitvector * represented by one byte per bit and * encrypt/decrypt according to edflag */void encrypt(block, edflag)  char *block;  int edflag;  { ufc_long l1, l2, r1, r2, *s;    int i;    /*     * Undo any salt changes to E expansion     */    setup_salt("..");    /*     * Reverse key table if     * changing operation (encrypt/decrypt)     */    if((edflag == 0) != (direction == 0)) {      for(i = 0; i < 8; i++) {#ifdef _UFC_32_	long32 x;	x = _ufc_keytab[15-i][0];         _ufc_keytab[15-i][0] = _ufc_keytab[i][0];         _ufc_keytab[i][0] = x;	x = _ufc_keytab[15-i][1];         _ufc_keytab[15-i][1] = _ufc_keytab[i][1];         _ufc_keytab[i][1] = x;#endif#ifdef _UFC_64_	long64 x;	x = _ufc_keytab[15-i];	_ufc_keytab[15-i] = _ufc_keytab[i];	_ufc_keytab[i] = x;#endif      }      direction = edflag;    }    /*     * Do initial permutation + E expansion     */    i = 0;    for(l1 = 0; i < 24; i++) {      if(block[initial_perm[esel[i]-1]-1])	l1 |= BITMASK(i);    }    for(l2 = 0; i < 48; i++) {      if(block[initial_perm[esel[i]-1]-1])	l2 |= BITMASK(i-24);    }    i = 0;    for(r1 = 0; i < 24; i++) {      if(block[initial_perm[esel[i]-1+32]-1])	r1 |= BITMASK(i);    }    for(r2 = 0; i < 48; i++) {      if(block[initial_perm[esel[i]-1+32]-1])	r2 |= BITMASK(i-24);    }    /*     * Do DES inner loops + final conversion     */    s = _ufc_doit(l1, l2, r1, r2, (ufc_long)1);    /*     * Do final permutations     */    s = _ufc_dofinalperm(s[0], s[1], s[2], s[3]);    /*     * And convert to bit array     */    l1 = s[0]; r1 = s[1];    for(i = 0; i < 32; i++) {      *block++ = (l1 & longmask[i]) != 0;    }    for(i = 0; i < 32; i++) {      *block++ = (r1 & longmask[i]) != 0;    }      }/*  * UNIX setkey function. Take a 64 bit DES * key and setup the machinery. */void setkey(key)  char *key;  { int i,j;    unsigned char c;    unsigned char ktab[8];    setup_salt(".."); /* be sure we're initialized */    for(i = 0; i < 8; i++) {      for(j = 0, c = 0; j < 8; j++)	c = c << 1 | *key++;      ktab[i] = c >> 1;    }        ufc_mk_keytab(ktab);  }/*  * Ultrix crypt16 function, thanks to pcl@convex.oxford.ac.uk (Paul Leyland) */   char *crypt16(key, salt)  char *key, *salt;  { ufc_long *s, *t;    char ktab[9], ttab[9];    static char q[14], res[25];    /*     * Hack DES tables according to salt     */    setup_salt(salt);        /*     * Setup key schedule     */    clearmem(ktab, sizeof ktab);    (void)strncpy(ktab, key, 8);    ufc_mk_keytab(ktab);        /*     * Go for first 20 DES encryptions     */    s = _ufc_doit((ufc_long)0, (ufc_long)0, 		  (ufc_long)0, (ufc_long)0, (ufc_long)20);        /*     * And convert back to 6 bit ASCII     */    strcpy (res, output_conversion(s[0], s[1], salt));        clearmem(ttab, sizeof ttab);    if (strlen (key) > 8) (void)strncpy(ttab, key+8, 8);    ufc_mk_keytab(ttab);        /*     * Go for second 5 DES encryptions     */    t = _ufc_doit((ufc_long)0, (ufc_long)0, 		  (ufc_long)0, (ufc_long)0, (ufc_long)5);    /*     * And convert back to 6 bit ASCII     */    strcpy (q, output_conversion(t[0], t[1], salt));    strcpy (res+13, q+2);        clearmem(ktab, sizeof ktab);    (void)strncpy(ktab, key, 8);    ufc_mk_keytab(ktab);        return res;  }/* * Experimental -- not supported -- may choke your dog */void ufc_setup_password(cookie, s)  long *cookie;  char *s;  { char c;    int i;    ufc_long x;    ufc_long dl1, dl2, dr1, dr2;    setup_salt(s);    dl1 = dl2 = dr1 = dr2 = 0;    for(i = 0, s += 2; c = *s++; i++) {      int x = ascii_to_bin(c);      dl1 |= revfinal[i][x][0];      dl2 |= revfinal[i][x][1];      dr1 |= revfinal[i][x][2];      dr2 |= revfinal[i][x][3];    }    x = (dl1 ^ dl2) & current_saltbits;    x = (dr1 ^ dr2) & current_saltbits;    cookie[0] = dl1 ^ x; cookie[1] = dl2 ^ x;    cookie[2] = dr1 ^ x; cookie[3] = dr2 ^ x;  }void ufc_do_pw(cookie, guess)  long *cookie;    char *guess;  { char ktab[9];    ufc_long *s;    clearmem(ktab, sizeof ktab);    (void)strncpy(ktab, guess, 8);    ufc_mk_keytab(ktab);    s = _ufc_doit((ufc_long)0, (ufc_long)0, 		  (ufc_long)0, (ufc_long)0, (ufc_long)25);    cookie[0] = s[0];    cookie[1] = s[1];    cookie[2] = s[2];    cookie[3] = s[3];  }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美脚の诱脚舐め脚责91 | 国产电影一区在线| 日本va欧美va精品| 午夜影视日本亚洲欧洲精品| 亚洲九九爱视频| 亚洲精品国产高清久久伦理二区| 自拍偷拍国产精品| 亚洲色图清纯唯美| 一区二区三区免费看视频| 一区二区三区日韩欧美| 亚洲免费伊人电影| 一区二区三区产品免费精品久久75 | 精品成人在线观看| 久久网这里都是精品| 久久色成人在线| 国产婷婷色一区二区三区| 国产精品少妇自拍| 一区二区三区精密机械公司| 亚洲线精品一区二区三区| 香港成人在线视频| 精油按摩中文字幕久久| 国产激情91久久精品导航| 成人av免费在线| 一本大道av一区二区在线播放| 在线日韩一区二区| 欧美一区二区三区免费| www国产成人| 最近日韩中文字幕| 天堂蜜桃91精品| 久久国产精品99久久人人澡| 国产aⅴ综合色| 欧洲视频一区二区| 日韩欧美高清dvd碟片| 久久婷婷久久一区二区三区| 国产精品乱人伦中文| 亚洲成人高清在线| 国产乱一区二区| 一本大道久久a久久综合| 91精品国产色综合久久不卡电影| 精品91自产拍在线观看一区| 国产精品久久久99| 天堂影院一区二区| 国产91丝袜在线播放| 91久久国产最好的精华液| 91麻豆精品国产91久久久| 久久亚洲精品国产精品紫薇| 亚洲欧美在线观看| 日本麻豆一区二区三区视频| av综合在线播放| 欧美一二区视频| 国产精品不卡一区二区三区| 亚州成人在线电影| 国产 欧美在线| 欧美高清www午色夜在线视频| 久久―日本道色综合久久| 一区二区三区国产精华| 国产在线麻豆精品观看| 欧美丝袜丝交足nylons| 国产亚洲精品7777| 日日夜夜精品视频天天综合网| 丁香婷婷深情五月亚洲| 91精品国产91久久综合桃花 | 久久精品视频在线免费观看| 亚洲一区二区三区小说| 国产一区在线观看麻豆| 91福利在线看| 国产欧美一区在线| 全部av―极品视觉盛宴亚洲| 色婷婷国产精品综合在线观看| 国产午夜精品美女毛片视频| 日韩电影免费在线| 一本大道久久a久久精品综合| 久久久亚洲国产美女国产盗摄| 亚洲一区在线观看免费| 99精品视频一区| 91久久精品一区二区二区| 亚洲高清在线视频| 琪琪一区二区三区| 从欧美一区二区三区| 日韩一二三区不卡| 亚洲一级不卡视频| 国产成人综合在线| 精品美女一区二区| 日日夜夜免费精品视频| 免费高清在线一区| 一区二区三区不卡在线观看| 亚洲国产日韩精品| 日韩av中文在线观看| 麻豆精品视频在线观看| 韩国欧美一区二区| 成人免费看黄yyy456| 91在线观看地址| 色综合色综合色综合| 欧美在线短视频| 欧美三级午夜理伦三级中视频| 欧美日韩夫妻久久| 制服.丝袜.亚洲.另类.中文| 日韩美女视频在线| 国产人成亚洲第一网站在线播放| 国产精品久久一卡二卡| 亚洲已满18点击进入久久| 午夜a成v人精品| 国产一区二区三区不卡在线观看| 菠萝蜜视频在线观看一区| 一本到高清视频免费精品| 欧美日韩成人综合在线一区二区| 精品奇米国产一区二区三区| 国产精品丝袜一区| 亚洲动漫第一页| 国产在线一区二区| 色婷婷综合久久久久中文| 91精品国产综合久久香蕉的特点 | 欧美国产乱子伦| 亚洲三级电影全部在线观看高清| 亚洲成av人片观看| 国产成人在线视频网站| 欧美午夜精品久久久久久孕妇 | 国产成人在线免费观看| 色婷婷av一区| 26uuu国产电影一区二区| 亚洲欧美日韩国产手机在线| 日韩不卡手机在线v区| 不卡视频免费播放| 欧美va在线播放| 亚洲欧美一区二区三区国产精品 | 亚洲伊人色欲综合网| 国内欧美视频一区二区| 欧美在线观看视频一区二区三区 | 欧美日韩免费电影| 五月婷婷激情综合网| 国产成人av电影在线播放| 91国偷自产一区二区开放时间| 日韩色在线观看| 亚洲免费视频成人| 国产suv精品一区二区6| 欧美一区二区久久久| 亚洲欧美综合在线精品| 国产一区二区精品久久99| 欧美日韩一二三区| 亚洲欧美福利一区二区| 国产成人精品免费在线| 欧美电影免费观看高清完整版在| 亚洲一区在线观看免费| 99riav久久精品riav| 久久精品亚洲精品国产欧美| 免费成人美女在线观看| 欧美美女bb生活片| 亚洲色图丝袜美腿| 99天天综合性| 国产精品无遮挡| 国产一区91精品张津瑜| 欧美一区二区在线免费播放| 午夜精品免费在线| 欧美日韩另类一区| 亚洲高清免费观看高清完整版在线观看| 成人免费va视频| 国产欧美日韩亚州综合| 国产精品88av| 久久久久久久久久久久久夜| 国产一区二区三区香蕉| 精品国产凹凸成av人导航| 美女视频免费一区| 日韩欧美黄色影院| 精品在线一区二区三区| 精品99一区二区三区| 久久成人麻豆午夜电影| 欧美成人精品1314www| 蜜桃av一区二区| 日韩欧美电影在线| 狠狠色伊人亚洲综合成人| 久久综合五月天婷婷伊人| 国产精华液一区二区三区| 久久久精品tv| 国产成人日日夜夜| 一区在线观看视频| 91官网在线免费观看| 亚洲高清久久久| 日韩欧美另类在线| 国产成人在线色| 国产精品久久久久久久久图文区| 91丨porny丨蝌蚪视频| 亚洲激情第一区| 欧美日韩国产免费| 美国精品在线观看| 国产日本欧美一区二区| 91在线你懂得| 亚洲成人www| 精品福利一二区| 成人网在线播放| 亚洲伊人伊色伊影伊综合网| 欧美一区二区在线不卡| 国产一区91精品张津瑜| 亚洲欧洲日韩综合一区二区| 在线观看av一区| 国产资源在线一区| 亚洲美女屁股眼交| 日韩一区二区三区免费看| 高清国产一区二区| 亚洲一区中文在线| 精品欧美久久久|