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

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

?? d3des.h.bak

?? use_des.zip(vc6)DES塊加密算法 使用塊加密8個字符
?? BAK
?? 第 1 頁 / 共 2 頁
字號:
	right = block[1];
	work = ((leftt >> 4) ^ right) & 0x0f0f0f0fL;
	right ^= work;
	leftt ^= (work << 4);
	work = ((leftt >> 16) ^ right) & 0x0000ffffL;
	right ^= work;
	leftt ^= (work << 16);
	work = ((right >> 2) ^ leftt) & 0x33333333L;
	leftt ^= work;
	right ^= (work << 2);
	work = ((right >> 8) ^ leftt) & 0x00ff00ffL;
	leftt ^= work;
	right ^= (work << 8);
	right = ((right << 1) | ((right >> 31) & 1L)) & 0xffffffffL;
	work = (leftt ^ right) & 0xaaaaaaaaL;
	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 














/* d3des.h -
 *
 *	Headers and defines for d3des.c
 *	Graven Imagery, 1992.
 *
 * Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge
 *	(GEnie : OUTER; CIS : [71755,204])
 */

#define D2_DES		/* include double-length support */
#define D3_DES		/* include triple-length support */

#ifdef D3_DES
#ifndef D2_DES
#define D2_DES		/* D2_DES is needed for D3_DES */
#endif
#endif

#define EN0	0	/* MODE == encrypt */
#define DE1	1	/* MODE == decrypt */

/* A useful alias on 68000-ish machines, but NOT USED HERE. */

typedef union {
	unsigned long blok[2];
	unsigned short word[4];
	unsigned char byte[8];
	} M68K;

extern void deskey(unsigned char *, short);
/*		      hexkey[8]     MODE
 * Sets the internal key register according to the hexadecimal
 * key contained in the 8 bytes of hexkey, according to the DES,
 * for encryption or decryption according to MODE.
 */

extern void usekey(unsigned long *);
/*		    cookedkey[32]
 * Loads the internal key register with the data in cookedkey.
 */

extern void cpkey(unsigned long *);
/*		   cookedkey[32]
 * Copies the contents of the internal key register into the storage
 * located at &cookedkey[0].
 */

extern void des(unsigned char *, unsigned char *);
/*		    from[8]	      to[8]
 * Encrypts/Decrypts (according to the key currently loaded in the
 * internal key register) one block of eight bytes at address 'from'
 * into the block at address 'to'.  They can be the same.
 */

#ifdef D2_DES

#define desDkey(a,b)	des2key((a),(b))
extern void des2key(unsigned char *, short);
/*		      hexkey[16]     MODE
 * Sets the internal key registerS according to the hexadecimal
 * keyS contained in the 16 bytes of hexkey, according to the DES,
 * for DOUBLE encryption or decryption according to MODE.
 * NOTE: this clobbers all three key registers!
 */

extern void Ddes(unsigned char *, unsigned char *);
/*		    from[8]	      to[8]
 * Encrypts/Decrypts (according to the keyS currently loaded in the
 * internal key registerS) one block of eight bytes at address 'from'
 * into the block at address 'to'.  They can be the same.
 */

extern void D2des(unsigned char *, unsigned char *);
/*		    from[16]	      to[16]
 * Encrypts/Decrypts (according to the keyS currently loaded in the
 * internal key registerS) one block of SIXTEEN bytes at address 'from'
 * into the block at address 'to'.  They can be the same.
 */

extern void makekey(char *, unsigned char *);
/*		*password,	single-length key[8]
 * With a double-length default key, this routine hashes a NULL-terminated
 * string into an eight-byte random-looking key, suitable for use with the
 * deskey() routine.
 */

#define makeDkey(a,b)	make2key((a),(b))
extern void make2key(char *, unsigned char *);
/*		*password,	double-length key[16]
 * With a double-length default key, this routine hashes a NULL-terminated
 * string into a sixteen-byte random-looking key, suitable for use with the
 * des2key() routine.
 */

#ifndef D3_DES	/* D2_DES only */

#define useDkey(a)	use2key((a))
#define cpDkey(a)	cp2key((a))

extern void use2key(unsigned long *);
/*		    cookedkey[64]
 * Loads the internal key registerS with the data in cookedkey.
 * NOTE: this clobbers all three key registers!
 */

extern void cp2key(unsigned long *);
/*		   cookedkey[64]
 * Copies the contents of the internal key registerS into the storage
 * located at &cookedkey[0].
 */

#else	/* D3_DES too */

#define useDkey(a)	use3key((a))
#define cpDkey(a)	cp3key((a))

extern void des3key(unsigned char *, short);
/*		      hexkey[24]     MODE
 * Sets the internal key registerS according to the hexadecimal
 * keyS contained in the 24 bytes of hexkey, according to the DES,
 * for DOUBLE encryption or decryption according to MODE.
 */

extern void use3key(unsigned long *);
/*		    cookedkey[96]
 * Loads the 3 internal key registerS with the data in cookedkey.
 */

extern void cp3key(unsigned long *);
/*		   cookedkey[96]
 * Copies the contents of the 3 internal key registerS into the storage
 * located at &cookedkey[0].
 */

extern void make3key(char *, unsigned char *);
/*		*password,	triple-length key[24]
 * With a triple-length default key, this routine hashes a NULL-terminated
 * string into a twenty-four-byte random-looking key, suitable for use with
 * the des3key() routine.
 */

#endif	/* D3_DES */
#endif	/* D2_DES */

/* d3des.h V5.09 rwo 9208.04 15:06 Graven Imagery
 ********************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服丝袜成人动漫| 国产欧美日韩精品在线| 日韩欧美一级二级| 国产精品剧情在线亚洲| 亚洲图片欧美一区| 韩国中文字幕2020精品| 99免费精品在线观看| 不卡视频一二三四| 欧美一区日本一区韩国一区| 国产校园另类小说区| 一二三四社区欧美黄| 精品一区二区免费在线观看| www.亚洲色图.com| 7777精品伊人久久久大香线蕉完整版 | 日韩亚洲电影在线| 久久久久久久久久久久久夜| 亚洲女爱视频在线| 激情文学综合插| 丁香五精品蜜臀久久久久99网站 | 亚洲视频电影在线| 日韩极品在线观看| 99re视频精品| 一区二区中文字幕在线| 亚洲午夜精品网| 粉嫩一区二区三区在线看| 在线成人小视频| 中文字幕一区视频| 国产福利一区二区三区视频 | 99麻豆久久久国产精品免费优播| 91精品国产综合久久精品app| 日韩小视频在线观看专区| 亚洲精品福利视频网站| 国产.欧美.日韩| 日韩欧美在线网站| 亚洲成人av电影| 一本色道亚洲精品aⅴ| 欧美国产丝袜视频| 日韩专区一卡二卡| 成人a级免费电影| 久久女同精品一区二区| 日韩av成人高清| 欧美高清一级片在线| 一区二区三区精品视频| 国产一区二区三区在线观看免费| 91精品国产手机| 午夜视黄欧洲亚洲| 91麻豆精品国产91久久久使用方法 | 亚洲精品伦理在线| av在线一区二区| 国产拍欧美日韩视频二区| 看电影不卡的网站| 欧美sm美女调教| 污片在线观看一区二区| 91老师片黄在线观看| 亚洲欧美偷拍三级| 99精品视频一区二区三区| 国产精品美女久久久久久久久| 狠狠色丁香久久婷婷综合丁香| 欧美日韩综合一区| 亚洲图片欧美色图| 欧美精品视频www在线观看| 亚洲国产精品尤物yw在线观看| 在线观看欧美黄色| 亚洲国产精品久久久久秋霞影院 | 国产精品超碰97尤物18| 成人免费观看视频| 一区二区三区资源| 91丨porny丨国产入口| 一区二区在线看| 69堂精品视频| 黄页网站大全一区二区| 国产精品久久久久影院亚瑟| 成人动漫视频在线| 亚洲一区二区欧美激情| 欧美一级在线视频| 国产精品一区二区x88av| 国产精品福利一区| 黑人巨大精品欧美黑白配亚洲| 国产精品色噜噜| 色婷婷国产精品| 裸体在线国模精品偷拍| 国产日韩欧美激情| 欧美系列日韩一区| 九色porny丨国产精品| 亚洲情趣在线观看| 大白屁股一区二区视频| 亚洲18色成人| 欧美激情一区二区三区全黄| 日本久久一区二区三区| 精品一区二区三区免费视频| 亚洲视频在线一区二区| 欧美日韩一区 二区 三区 久久精品| 蜜臀精品一区二区三区在线观看 | 精品伦理精品一区| 欧美日韩亚洲综合在线| 成年人午夜久久久| 国产在线视频一区二区三区| 五月激情丁香一区二区三区| 樱花影视一区二区| 国产精品国产三级国产a| 久久久久久99精品| 精品久久久久一区| 日韩午夜电影av| 欧美一卡在线观看| 在线成人av网站| 欧美影视一区在线| 色婷婷国产精品| 成人激情视频网站| 国产不卡高清在线观看视频| 精品一区二区在线免费观看| 丝袜美腿成人在线| 亚洲一区视频在线| 一区二区三区波多野结衣在线观看 | 欧美不卡123| 日韩免费电影一区| 欧美一三区三区四区免费在线看| 欧美精品乱人伦久久久久久| 欧美日韩在线精品一区二区三区激情 | 欧美不卡视频一区| 精品精品国产高清a毛片牛牛| 在线综合视频播放| 欧美xxxx在线观看| 久久这里都是精品| 久久久亚洲精华液精华液精华液 | 国产乱码精品一区二区三区忘忧草 | 欧美性猛交xxxx乱大交退制版| 93久久精品日日躁夜夜躁欧美| www.日本不卡| 91丨porny丨中文| 欧美伊人精品成人久久综合97 | 2023国产精品自拍| 国产拍欧美日韩视频二区| 欧美国产1区2区| 国产精品第一页第二页第三页| 欧美国产成人在线| 亚洲激情成人在线| 亚洲成a人片在线不卡一二三区| 性做久久久久久久免费看| 亚洲va国产天堂va久久en| 亚洲成人资源网| 精品一区二区三区免费视频| 国产成人av一区二区三区在线 | 亚洲九九爱视频| 一区二区三区在线影院| 日本少妇一区二区| 粉嫩一区二区三区性色av| av在线一区二区| 91精品国产综合久久小美女| 26uuu国产在线精品一区二区| 国产精品久久久久影院老司| 亚洲线精品一区二区三区八戒| 免费成人av资源网| 成人免费观看视频| 欧美精品乱码久久久久久| 久久午夜国产精品| 一区二区三区在线播| 精品中文字幕一区二区| 色综合久久中文字幕| 日韩亚洲欧美一区| 亚洲私人黄色宅男| 久久er精品视频| 在线观看国产一区二区| 精品久久一区二区三区| 亚洲精品国产视频| 国产一区在线观看麻豆| 欧美色涩在线第一页| 久久精品欧美一区二区三区不卡 | 一区二区高清免费观看影视大全| 男女男精品视频| 国产1区2区3区精品美女| 欧美一区二区在线播放| 中文字幕一区二区三区不卡在线 | 99精品欧美一区二区三区综合在线| 欧美精品久久久久久久多人混战 | 日韩写真欧美这视频| 亚洲人一二三区| 国产一区不卡视频| 欧美日本国产视频| 亚洲欧美一区二区三区孕妇| 国产在线乱码一区二区三区| 91精品国产欧美一区二区成人| 依依成人综合视频| 99精品1区2区| 国产精品三级久久久久三级| 国产美女精品一区二区三区| 欧美一区二区国产| 丝袜亚洲另类欧美| 精品婷婷伊人一区三区三| 亚洲黄网站在线观看| 91丨九色丨黑人外教| 1区2区3区精品视频| 成人激情动漫在线观看| 精品福利一二区| 精品亚洲国产成人av制服丝袜| 欧美日韩一级片在线观看| 亚洲午夜久久久| 欧美色综合久久| 午夜电影一区二区三区| 欧美精品v国产精品v日韩精品| 午夜欧美2019年伦理|