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

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

?? d3des.c

?? use_des.zip(vc6)DES塊加密算法 使用塊加密8個字符
?? C
?? 第 1 頁 / 共 2 頁
字號:
	leftt ^= work;
	right ^= work;
	leftt = ((leftt << 1) | ((leftt >> 31) & 1L)) & 0xffffffffL;

	for( round = 0; round < 8; round++ ) {
		work  = (right << 28) | (right >> 4);
		work ^= *keys++;
		fval  = SP7[ work		 & 0x3fL];
		fval |= SP5[(work >>  8) & 0x3fL];
		fval |= SP3[(work >> 16) & 0x3fL];
		fval |= SP1[(work >> 24) & 0x3fL];
		work  = right ^ *keys++;
		fval |= SP8[ work		 & 0x3fL];
		fval |= SP6[(work >>  8) & 0x3fL];
		fval |= SP4[(work >> 16) & 0x3fL];
		fval |= SP2[(work >> 24) & 0x3fL];
		leftt ^= fval;
		work  = (leftt << 28) | (leftt >> 4);
		work ^= *keys++;
		fval  = SP7[ work		 & 0x3fL];
		fval |= SP5[(work >>  8) & 0x3fL];
		fval |= SP3[(work >> 16) & 0x3fL];
		fval |= SP1[(work >> 24) & 0x3fL];
		work  = leftt ^ *keys++;
		fval |= SP8[ work		 & 0x3fL];
		fval |= SP6[(work >>  8) & 0x3fL];
		fval |= SP4[(work >> 16) & 0x3fL];
		fval |= SP2[(work >> 24) & 0x3fL];
		right ^= fval;
		}

	right = (right << 31) | (right >> 1);
	work = (leftt ^ right) & 0xaaaaaaaaL;
	leftt ^= work;
	right ^= work;
	leftt = (leftt << 31) | (leftt >> 1);
	work = ((leftt >> 8) ^ right) & 0x00ff00ffL;
	right ^= work;
	leftt ^= (work << 8);
	work = ((leftt >> 2) ^ right) & 0x33333333L;
	right ^= work;
	leftt ^= (work << 2);
	work = ((right >> 16) ^ leftt) & 0x0000ffffL;
	leftt ^= work;
	right ^= (work << 16);
	work = ((right >> 4) ^ leftt) & 0x0f0f0f0fL;
	leftt ^= work;
	right ^= (work << 4);
	*block++ = right;
	*block = leftt;
	return;
	}

#ifdef D2_DES

void des2key(unsigned char *hexkey, short cmode)		// stomps on Kn3 too 
{
	short revmod;

	revmod = (cmode == EN0) ? DE1 : EN0;
	deskey(&hexkey[8], revmod);
	cpkey(KnR);
	deskey(hexkey, cmode);
	cpkey(Kn3);					// Kn3 = KnL 
	return;
}

void Ddes(unsigned char *from, unsigned char *into)
{
	unsigned long work[2];

	scrunch(from, work);
	desfunc(work, KnL);
	desfunc(work, KnR);
	desfunc(work, Kn3);
	unscrun(work, into);
	return;
}

void D2des(unsigned char *from, unsigned char *into)
{
	unsigned long *right, *l1, swap;
	unsigned long leftt[2], bufR[2];

	right = bufR;
	l1 = &leftt[1];
	scrunch(from, leftt);
	scrunch(&from[8], right);
	desfunc(leftt, KnL);
	desfunc(right, KnL);
	swap = *l1;
	*l1 = *right;
	*right = swap;
	desfunc(leftt, KnR);
	desfunc(right, KnR);
	swap = *l1;
	*l1 = *right;
	*right = swap;
	desfunc(leftt, Kn3);
	desfunc(right, Kn3);
	unscrun(leftt, into);
	unscrun(right, &into[8]);
	return;
	}

void makekey(char *aptr, unsigned char *kptr)
{
	register unsigned char *store;
	register int first, i;
	unsigned long savek[96];

	cpDkey(savek);
	des2key(Df_Key, EN0);
	for( i = 0; i < 8; i++ ) kptr[i] = Df_Key[i];
	first = 1;
	while( (*aptr != '\0') || first ) {
		store = kptr;
		for( i = 0; i < 8 && (*aptr != '\0'); i++ ) {
			*store++ ^= *aptr & 0x7f;
			*aptr++ = '\0';
			}
		Ddes(kptr, kptr);
		first = 0;
		}
	useDkey(savek);
	return;
	}

void make2key(char *aptr, unsigned char *kptr)
{
	register unsigned char *store;
	register int first, i;
	unsigned long savek[96];

	cpDkey(savek);
	des2key(Df_Key, EN0);
	for( i = 0; i < 16; i++ ) kptr[i] = Df_Key[i];
	first = 1;
	while( (*aptr != '\0') || first ) {
		store = kptr;
		for( i = 0; i < 16 && (*aptr != '\0'); i++ ) {
			*store++ ^= *aptr & 0x7f;
			*aptr++ = '\0';
			}
		D2des(kptr, kptr);
		first = 0;
		}
	useDkey(savek);
	return;
	}

#ifndef D3_DES	 D2_DES only 
#ifdef	D2_DES	 iff D2_DES! 

void cp2key(unsigned long *into)
{
	register unsigned long *from, *endp;

	cpkey(into);
	into = &into[32];
	from = KnR, endp = &KnR[32];
	while( from < endp ) *into++ = *from++;
	return;
}

void use2key(unsigned long *from)				// stomps on Kn3 too 
{
	register unsigned long *to, *endp;

	usekey(from);
	from = &from[32];
	to = KnR, endp = &KnR[32];
	while( to < endp ) *to++ = *from++;
	cpkey(Kn3);					// Kn3 = KnL 
	return;
}

#endif	// iff D2_DES 
#else	 // D3_DES too 

static void D3des(unsigned char *, unsigned char *);

void des3key(unsigned char *hexkey, short mode)
{
	unsigned char *first, *third;
	short revmod;

	if( mode == EN0 ) {
		revmod = DE1;
		first = hexkey;
		third = &hexkey[16];
		}
	else {
		revmod = EN0;
		first = &hexkey[16];
		third = hexkey;
		}
	deskey(&hexkey[8], revmod);
	cpkey(KnR);
	deskey(third, mode);
	cpkey(Kn3);
	deskey(first, mode);
	return;
	}

void cp3key(unsigned long *into)
{
	register unsigned long *from, *endp;

	cpkey(into);
	into = &into[32];
	from = KnR, endp = &KnR[32];
	while( from < endp ) *into++ = *from++;
	from = Kn3, endp = &Kn3[32];
	while( from < endp ) *into++ = *from++;
	return;
	}

void use3key(unsigned long *from)
{
	register unsigned long *to, *endp;

	usekey(from);
	from = &from[32];
	to = KnR, endp = &KnR[32];
	while( to < endp ) *to++ = *from++;
	to = Kn3, endp = &Kn3[32];
	while( to < endp ) *to++ = *from++;
	return;
	}

static void D3des(unsigned char *from, unsigned char *into)	// amateur theatrics 
{
	unsigned long swap, leftt[2], middl[2], right[2];

	scrunch(from, leftt);
	scrunch(&from[8], middl);
	scrunch(&from[16], right);
	desfunc(leftt, KnL);
	desfunc(middl, KnL);
	desfunc(right, KnL);
	swap = leftt[1];
	leftt[1] = middl[0];
	middl[0] = swap;
	swap = middl[1];
	middl[1] = right[0];
	right[0] = swap;
	desfunc(leftt, KnR);
	desfunc(middl, KnR);
	desfunc(right, KnR);
	swap = leftt[1];
	leftt[1] = middl[0];
	middl[0] = swap;
	swap = middl[1];
	middl[1] = right[0];
	right[0] = swap;
	desfunc(leftt, Kn3);
	desfunc(middl, Kn3);
	desfunc(right, Kn3);
	unscrun(leftt, into);
	unscrun(middl, &into[8]);
	unscrun(right, &into[16]);
	return;
	}

void make3key(char *aptr, unsigned char*kptr)
{
	register unsigned char *store;
	register int first, i;
	unsigned long savek[96];

	cp3key(savek);
	des3key(Df_Key, EN0);
	for( i = 0; i < 24; i++ ) kptr[i] = Df_Key[i];
	first = 1;
	while( (*aptr != '\0') || first ) {
		store = kptr;
		for( i = 0; i < 24 && (*aptr != '\0'); i++ ) {
			*store++ ^= *aptr & 0x7f;
			*aptr++ = '\0';
			}
		D3des(kptr, kptr);
		first = 0;
		}
	use3key(savek);
	return;
	}

#endif	// D3_DES 
#endif	// D2_DES 














/* Validation sets:
 *
 * Single-length key, single-length plaintext -
 * Key	  : 0123 4567 89ab cdef
 * Plain  : 0123 4567 89ab cde7
 * Cipher : c957 4425 6a5e d31d
 *
 * Double-length key, single-length plaintext -
 * Key	  : 0123 4567 89ab cdef fedc ba98 7654 3210
 * Plain  : 0123 4567 89ab cde7
 * Cipher : 7f1d 0a77 826b 8aff
 *
 * Double-length key, double-length plaintext -
 * Key	  : 0123 4567 89ab cdef fedc ba98 7654 3210
 * Plain  : 0123 4567 89ab cdef 0123 4567 89ab cdff
 * Cipher : 27a0 8440 406a df60 278f 47cf 42d6 15d7
 *
 * Triple-length key, single-length plaintext -
 * Key	  : 0123 4567 89ab cdef fedc ba98 7654 3210 89ab cdef 0123 4567
 * Plain  : 0123 4567 89ab cde7
 * Cipher : de0b 7c06 ae5e 0ed5
 *
 * Triple-length key, double-length plaintext -
 * Key	  : 0123 4567 89ab cdef fedc ba98 7654 3210 89ab cdef 0123 4567
 * Plain  : 0123 4567 89ab cdef 0123 4567 89ab cdff
 * Cipher : ad0d 1b30 ac17 cf07 0ed1 1c63 81e4 4de5
 *
 * d3des V5.0a rwo 9208.07 18:44 Graven Imagery
 **********************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲黄色小视频| 日韩精品最新网址| 中文字幕高清不卡| 激情久久五月天| 欧美成人性战久久| 亚洲欧美日韩国产一区二区三区| 国产一区 二区| 精品国产乱码久久久久久老虎| 日韩国产欧美在线播放| 色噜噜久久综合| 曰韩精品一区二区| 色成人在线视频| 亚洲一卡二卡三卡四卡无卡久久| 91在线播放网址| 欧美国产在线观看| 99亚偷拍自图区亚洲| 亚洲欧美日韩一区二区| 在线精品国精品国产尤物884a | 国产成人一区二区精品非洲| 久久久综合激的五月天| 国产传媒久久文化传媒| 日韩欧美电影一二三| 国产精一品亚洲二区在线视频| 精品成人佐山爱一区二区| 国产精品亚洲人在线观看| 国产精品麻豆欧美日韩ww| 99久久精品国产精品久久| 一区二区三区精密机械公司| 欧美少妇bbb| 美腿丝袜在线亚洲一区| 久久一区二区三区四区| 91在线视频观看| 亚洲精品国产一区二区精华液| 欧美亚洲综合在线| 麻豆免费精品视频| 国产精品美女久久久久久久久久久| 91视视频在线观看入口直接观看www | 青青草91视频| 中文字幕欧美日韩一区| 欧美三级电影在线观看| 日本午夜一本久久久综合| 国产亚洲精品bt天堂精选| 色综合久久综合网欧美综合网| 午夜影院久久久| 26uuu欧美日本| 一本色道久久加勒比精品| 亚洲一区二区综合| 欧美成人精品1314www| eeuss鲁一区二区三区| 午夜av一区二区三区| 精品视频资源站| 国产成人福利片| 午夜视频在线观看一区| 欧美国产激情二区三区| 欧美日本一区二区三区四区| 美女视频黄 久久| 成人免费在线播放视频| 欧美大胆人体bbbb| 91久久线看在观草草青青| 欧美aaa在线| 亚洲美女屁股眼交3| 2021国产精品久久精品| 欧美日韩精品一二三区| 美国精品在线观看| 亚洲高清免费一级二级三级| 中文字幕免费观看一区| 欧美日韩激情一区二区| jizz一区二区| 免费观看在线综合| 亚洲精品一卡二卡| 久久久精品蜜桃| 欧美电影免费观看高清完整版| 一本大道av一区二区在线播放| 蜜桃视频免费观看一区| 亚洲mv大片欧洲mv大片精品| 国产三级欧美三级日产三级99 | 欧美一区二区三级| 懂色av一区二区在线播放| 麻豆精品新av中文字幕| 亚洲一区精品在线| 亚洲欧美日韩国产另类专区| 中文字幕第一页久久| 9191国产精品| 欧美日韩中文字幕一区| 欧美综合亚洲图片综合区| 99re这里只有精品首页| 韩国女主播成人在线| 老司机免费视频一区二区| 亚洲福利视频一区二区| 亚洲综合一区二区精品导航| 亚洲视频狠狠干| 亚洲三级在线看| 亚洲婷婷在线视频| 国产精品国产成人国产三级| 国产视频一区在线观看| 日韩精品一区二区三区四区| 日韩欧美综合在线| 91精品欧美一区二区三区综合在 | 久久99精品视频| 亚洲影院在线观看| 亚洲一区二三区| 亚洲电影你懂得| 亚洲成a天堂v人片| 亚洲视频一区二区在线| 亚洲成人精品一区二区| 久久99精品视频| 成人黄色大片在线观看| 欧美日韩你懂得| 精品国产区一区| 亚洲欧洲精品一区二区精品久久久| 亚洲男人的天堂在线aⅴ视频| 午夜欧美大尺度福利影院在线看| 久久se精品一区二区| 国产成人精品一区二区三区网站观看| 91色porny蝌蚪| 欧美一区二区精品久久911| 国产校园另类小说区| 亚洲精品高清在线| 韩国三级电影一区二区| 色猫猫国产区一区二在线视频| 日韩色视频在线观看| 亚洲欧洲精品天堂一级| 日韩二区三区四区| 99国内精品久久| 精品国产乱码久久久久久1区2区| **性色生活片久久毛片| 久久精品99国产精品| 91小宝寻花一区二区三区| 日韩一区二区视频| 亚洲精品视频自拍| 黄色日韩三级电影| 欧美日韩中文字幕一区二区| 国产亚洲综合性久久久影院| 日韩电影一二三区| 91片黄在线观看| 国产日产精品一区| 天堂成人国产精品一区| 99久久久久久| 国产亚洲欧美日韩在线一区| 偷拍亚洲欧洲综合| 色琪琪一区二区三区亚洲区| 欧美国产一区在线| 黑人巨大精品欧美一区| 欧美日本国产一区| 亚洲图片另类小说| 国产99久久久久| 久久久亚洲国产美女国产盗摄| 午夜精品久久久久久久99樱桃| 国产sm精品调教视频网站| 欧美sm美女调教| 蜜桃视频一区二区三区在线观看| 欧美影院一区二区| 亚洲综合色噜噜狠狠| 91亚洲精华国产精华精华液| 国产精品三级电影| 国产福利视频一区二区三区| 欧美成人精品3d动漫h| 免费观看91视频大全| 91麻豆精品国产91久久久| 亚洲午夜在线电影| 色婷婷久久久综合中文字幕| 亚洲桃色在线一区| 99精品在线观看视频| |精品福利一区二区三区| 成人深夜视频在线观看| 中文字幕乱码日本亚洲一区二区| 国产精品综合一区二区三区| 久久综合九色综合欧美亚洲| 久久国产日韩欧美精品| 欧美一区二区大片| 蜜桃传媒麻豆第一区在线观看| 日韩一区二区在线观看视频播放| 日韩在线播放一区二区| 日韩免费视频一区二区| 激情文学综合网| 国产性做久久久久久| 成人美女视频在线观看| 中文字幕日韩av资源站| 91免费视频网址| 亚洲一区二区三区中文字幕| 欧美视频日韩视频在线观看| 日韩av电影免费观看高清完整版在线观看| 884aa四虎影成人精品一区| 老司机一区二区| 国产日韩欧美精品一区| a级高清视频欧美日韩| 亚洲激情中文1区| 欧美疯狂做受xxxx富婆| 美女网站色91| 中文字幕av一区二区三区| 91黄视频在线| 欧美aaaaa成人免费观看视频| 久久久亚洲国产美女国产盗摄| 成人动漫av在线| 亚洲国产精品久久人人爱| 日韩你懂的在线观看| 成人一区二区视频| 亚洲综合免费观看高清完整版在线 | 国产精品亚洲专一区二区三区| 国产精品久久久久久久久免费桃花|