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

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

?? mac.c

?? 8051實現_gsm_gprs收發短信打電話的功能
?? C
字號:
/*******************************************************************************
*	(des & 3des) 加脫密 & MAC X9.8 程序				       *
*	編程人員: 齊傳兵						       *
*******************************************************************************/

/*******************************************************************************
* void des(int flag, unsigned char *text ,unsigned char *key ,unsigned char *result);  *
* flag==1 is encrypte, 0 is decrypte					   *
* text, key, result: 64 bits buffer					   *
********************************************************************************

********************************************************************************
* void des3(int flag, unsigned char *text, unsigned char *key, unsigned char *result); *
* flag==1 is encrypte, 0 is decrypte					   *
* text, result: 64 bits buffer						   *
* key: 128 bits buffer							   *
********************************************************************************

********************************************************************************
* void mac(unsigned int macdatalength, unsigned char *text, unsigned char *key, unsigned char *result ); *
* macdatalength : bytes of text						 *
* key: 64 bits buffer							 *
* text: n bits buffer							 *
* result : 64s bit buffer						 *
*******************************************************************************/


 unsigned char code pc_1[56]={
			57,49,41,33,25,17, 9, 1,58,50,42,34,26,18,
			10, 2,59,51,43,35,27,19,11, 3,60,52,44,36,
			63,55,47,39,31,23,15, 7,62,54,46,38,30,22,
			14, 6,61,53,45,37,29,21,13, 5,28,20,12, 4};

 unsigned char code  pc_2[48]={
			14,17,11,24, 1, 5, 3,28,15, 6,21,10,
			23,19,12, 4,26, 8,16, 7,27,20,13, 2,
			41,52,31,37,47,55,30,40,51,45,33,48,
			44,49,39,56,34,53,46,42,50,36,29,32};

 unsigned char code shift[16]={1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1};

 unsigned char code ip_tab[64]={
			58,50,42,34,26,18,10, 2,60,52,44,36,28,20,12, 4,
			62,54,46,38,30,22,14, 6,64,56,48,40,32,24,16, 8,
			57,49,41,33,25,17, 9, 1,59,51,43,35,27,19,11, 3,
			61,53,45,37,29,21,13, 5,63,55,47,39,31,23,15, 7};

 unsigned char code ip_1_tab[64]={
			40, 8,48,16,56,24,64,32,39, 7,47,15,55,23,63,31,
			38, 6,46,14,54,22,62,30,37, 5,45,13,53,21,61,29,
			36, 4,44,12,52,20,60,28,35, 3,43,11,51,19,59,27,
			34, 2,42,10,50,18,58,26,33, 1,41, 9,49,17,57,25};

 unsigned char code  e3248[48]={
			32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9,10,11,
			12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,
			22,23,24,25,24,25,26,27,28,29,28,29,30,31,32, 1};

 unsigned char code p_tab[32]={
			16, 7,20,21,29,12,28,17, 1,15,23,26, 5,18,31,10,
			2, 8,24,14,32,27, 3, 9,19,13,30, 6,22,11, 4,25};

 unsigned char code  sbox[8][64]={
			{14, 4,13, 1, 2,15,11, 8, 3,10, 6,12, 5, 9, 0, 7,
			  0,15, 7, 4,14, 2,13, 1,10, 6,12,11, 9, 5, 3, 8,
			  4, 1,14, 8,13, 6, 2,11,15,12, 9, 7, 3,10, 5, 0,
			 15,12, 8, 2, 4, 9, 1, 7, 5,11, 3,14,10, 0, 6,13},
			{15, 1, 8,14, 6,11, 3, 4, 9, 7, 2,13,12, 0, 5,10,
			  3,13, 4, 7,15, 2, 8,14,12, 0, 1,10, 6, 9,11, 5,
			  0,14, 7,11,10, 4,13, 1, 5, 8,12, 6, 9, 3, 2,15,
			 13, 8,10, 1, 3,15, 4, 2,11, 6, 7,12, 0, 5,14, 9},
			{10, 0, 9,14, 6, 3,15, 5, 1,13,12, 7,11, 4, 2, 8,
			 13, 7, 0, 9, 3, 4, 6,10, 2, 8, 5,14,12,11,15, 1,
			 13, 6, 4, 9, 8,15, 3, 0,11, 1, 2,12, 5,10,14, 7,
			  1,10,13, 0, 6, 9, 8, 7, 4,15,14, 3,11, 5, 2,12},
			{ 7,13,14, 3, 0, 6, 9,10, 1, 2, 8, 5,11,12, 4,15,
			 13, 8,11, 5, 6,15, 0, 3, 4, 7, 2,12, 1,10,14, 9,
			 10, 6, 9, 0,12,11, 7,13,15, 1, 3,14, 5, 2, 8, 4,
			  3,15, 0, 6,10, 1,13, 8, 9, 4, 5,11,12, 7, 2,14},
			{ 2,12, 4, 1, 7,10,11, 6, 8, 5, 3,15,13, 0,14, 9,
			 14,11, 2,12, 4, 7,13, 1, 5, 0,15,10, 3, 9, 8, 6,
			  4, 2, 1,11,10,13, 7, 8,15, 9,12, 5, 6, 3, 0,14,
			 11, 8,12, 7, 1,14, 2,13, 6,15, 0, 9,10, 4, 5, 3},
			{12, 1,10,15, 9, 2, 6, 8, 0,13, 3, 4,14, 7, 5,11,
			 10,15, 4, 2, 7,12, 9, 5, 6, 1,13,14, 0,11, 3, 8,
			  9,14,15, 5, 2, 8,12, 3, 7, 0, 4,10, 1,13,11, 6,
			  4, 3, 2,12, 9, 5,15,10,11,14, 1, 7, 6, 0, 8,13},
			{ 4,11, 2,14,15, 0, 8,13, 3,12, 9, 7, 5,10, 6, 1,
			 13, 0,11, 7, 4, 9, 1,10,14, 3, 5,12, 2,15, 8, 6,
			  1, 4,11,13,12, 3, 7,14,10,15, 6, 8, 0, 5, 9, 2,
			  6,11,13, 8, 1, 4,10, 7, 9, 5, 0,15,14, 2, 3,12},
			{13, 2, 8, 4, 6,15,11, 1,10, 9, 3,14, 5, 0,12, 7,
			  1,15,13, 8,10, 3, 7, 4,12, 5, 6,11, 0,14, 9, 2,
			  7,11, 4, 1, 9,12,14, 2, 0, 6,10,13,15, 3, 5, 8,
			  2, 1,14, 7, 4,10, 8,13,15,12, 9, 0, 3, 5, 6,11}};

 unsigned char code table[64]={
					0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,
					0,1,0,0,0,1,0,1,0,1,1,0,0,1,1,1,
					1,0,0,0,1,0,0,1,1,0,1,0,1,0,1,1,
					1,1,0,0,1,1,0,1,1,1,1,0,1,1,1,1};

 unsigned char code qcb[64]={
					 0, 16,  1, 17,  2, 18,  3, 19, 
					 4, 20,  5, 21,  6, 22,  7, 23, 
					 8, 24,  9, 25, 10, 26, 11, 27, 
					12, 28, 13, 29, 14, 30, 15, 31, 
					32, 48, 33, 49, 34, 50, 35, 51, 
					36, 52, 37, 53, 38, 54, 39, 55, 
					40, 56, 41, 57, 42, 58, 43, 59,
					44, 60, 45, 61, 46, 62, 47, 63};



void des(int flag, unsigned char *text ,unsigned char *key ,unsigned char *result)
{
//flag==1 is encrypte, 0 is decrypte

	int  xdata i,j,k;
	unsigned char xdata *p,*q;
	unsigned char  xdata ch1,ch2;

	unsigned char xdata  text64[64],key64[64],key56[56],c0[28],d0[28],keypc11[56],key48[16][48];

	unsigned char xdata iptext[64],l0[32],r0[32],temp[32],sboxinput[48];

	unsigned char xdata boxout[32], entext[64],tempresult[64];

	int xdata box[8];

	 p=text64;

	 for(i=0;i<8;i++)
	 {
		 for(k=0;k<8;k++)
			 if(*(text+i)&(1<<(7-k)))
				 *p++=1;
			 else
				 *p++=0;

	 }


	 p=key64;

	 for(i=0;i<8;i++)
	 {
		 for(k=0;k<8;k++)
			 if(*(key+i)&(1<<(7-k)))
				 *p++=1;
			 else
				 *p++=0;

	 }

	for (i=0;i<56;i++)
		key56[i]=key64[pc_1[i]-1];

	for (i=0;i<28;i++)
	{
		c0[i]=key56[i];
		d0[i]=key56[i+28];
	}

	
	for (k=0;k<16;k++)
	 {
		for(i=0;i<shift[k];i++)
		{
			ch1=c0[0];
			ch2=d0[0];
			for(j=0;j<27;j++)
			{
				c0[j]=c0[j+1];
				d0[j]=d0[j+1];
			}
			c0[27]=ch1;
			d0[27]=ch2;

		}

		 for(i=0,p=c0,q=keypc11;i<28;i++)
			 *q++=*p++;

		 for(i=0,p=d0;i<28;i++)
		 	 *q++=*p++;		 
		 
		 for (i=0;i<48;i++)
		 {
			 if(flag==1)
				key48[k][i]=keypc11[pc_2[i]-1];
			 else
				key48[15-k][i]=keypc11[pc_2[i]-1];  
		 }
	 }

	for (i=0;i<64;i++)
		iptext[i]=text64[ip_tab[i]-1];

	for (i=0;i<32;i++)
	{
		l0[i]=iptext[i];
		r0[i]=iptext[i+32];
	}

	for (k=0;k<16;k++)
	 {
		for (i=0;i<48;i++)
			 sboxinput[i]=key48[k][i]^r0[e3248[i]-1];

		box[0]=(sboxinput[ 0]<<5)+(sboxinput[ 1]<<4)+(sboxinput[ 2]<<3)+(sboxinput[ 3]<<2)+(sboxinput[ 4]<<1)+sboxinput[5];
		box[1]=(sboxinput[ 6]<<5)+(sboxinput[ 7]<<4)+(sboxinput[ 8]<<3)+(sboxinput[ 9]<<2)+(sboxinput[10]<<1)+sboxinput[11];
		box[2]=(sboxinput[12]<<5)+(sboxinput[13]<<4)+(sboxinput[14]<<3)+(sboxinput[15]<<2)+(sboxinput[16]<<1)+sboxinput[17];
		box[3]=(sboxinput[18]<<5)+(sboxinput[19]<<4)+(sboxinput[20]<<3)+(sboxinput[21]<<2)+(sboxinput[22]<<1)+sboxinput[23];
		box[4]=(sboxinput[24]<<5)+(sboxinput[25]<<4)+(sboxinput[26]<<3)+(sboxinput[27]<<2)+(sboxinput[28]<<1)+sboxinput[29];
		box[5]=(sboxinput[30]<<5)+(sboxinput[31]<<4)+(sboxinput[32]<<3)+(sboxinput[33]<<2)+(sboxinput[34]<<1)+sboxinput[35];
		box[6]=(sboxinput[36]<<5)+(sboxinput[37]<<4)+(sboxinput[38]<<3)+(sboxinput[39]<<2)+(sboxinput[40]<<1)+sboxinput[41];
		box[7]=(sboxinput[42]<<5)+(sboxinput[43]<<4)+(sboxinput[44]<<3)+(sboxinput[45]<<2)+(sboxinput[46]<<1)+sboxinput[47];

		p=boxout;
		for (i=0;i<8;i++)
		 {
			q=&table[sbox[i][qcb[box[i]]]<<2];

			 *p++=*q++;
			 *p++=*q++;
			 *p++=*q++;
			 *p++=*q++;
		  }


		for (i=0;i<32;i++)
		{
			temp[i]=r0[i];
			r0[i]=boxout[p_tab[i]-1]^l0[i];
			l0[i]=temp[i];
			l0[i]=temp[i];
		}

	}

	p=entext;
	for(i=0;i<32;i++)
		*p++=r0[i];
	for(i=0;i<32;i++)
		*p++=l0[i];

	for (i=0;i<64;i++)
		tempresult[i]=entext[ip_1_tab[i]-1];

	p=tempresult;

	for(i=0;i<8;i++)
	{
		*(result+i)=0;
		for(j=0;j<7;j++)
			*(result+i)=(*(result+i)|*p++)<<1;
		*(result+i)=*(result+i)|*p++;
	}

}

des3(int flag, unsigned char *text, unsigned char *key, unsigned char *result)
{
//flag==1 is encrypte, 0 is decrypte
	des(flag, text, key, result);
	des(flag^1, result, key+8, result);
	des(flag, result, key, result);

}


void mac(unsigned int macdatalength, unsigned char *text, unsigned char *key, unsigned char *result )
{

	unsigned char xdata Data[8];
	unsigned char xdata mac[8]={0,0,0,0,0,0,0,0};

	int xdata i;
	unsigned int xdata len;


	if(macdatalength==0)
	{
		des(1, mac, key, result);   //用于產生密鑰校驗值
		return;
	}


	len=0;

	while(len<macdatalength)
	{
		for(i=0;i<8;i++)
			Data[i]=0;

		for(i=0;(i<8)&&(len<macdatalength);i++,len++)
			Data[i]=(*text++);

		for(i=0;i<8;i++)
			Data[i]^=mac[i];

		des(1, Data, key, mac);
	}

	for(i=0;i<8;i++)
		*(result+i)=mac[i];

	return;

}

// for example

/*{
	unsigned char key1[8]={0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11};//{1,2,3,4,5,6,7,8};
	unsigned char key2[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
	unsigned char text[8]={2,3,4,5,6,7,8,9};
	unsigned char result[8];
	unsigned char data[10]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};//"0123456789ABCDEF0123456789ABCDE";

	unsigned char i;

	des(1,text,key1,result);
	des(0,result,key1,text);

//	des3(1,text,key2,result);
//	des3(0,text,key2,result);
//	mac(strlen(data), data, key1, result);
    mac(10, data, key1, result);
	for(i=0;i<8;i++) printf("%d  ",result[i]);
}*/


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
2024国产精品| 青娱乐精品在线视频| 欧美乱熟臀69xxxxxx| 99麻豆久久久国产精品免费| 国产精品一区二区黑丝| 日本不卡视频一二三区| 日韩av网站免费在线| 婷婷夜色潮精品综合在线| 亚洲第一av色| 日本91福利区| 激情图片小说一区| 国产激情一区二区三区| 成人黄色在线网站| 在线看日本不卡| 欧美精品丝袜中出| 日韩免费在线观看| 久久九九久精品国产免费直播| 欧美精品一区二区三区蜜桃视频 | 高清shemale亚洲人妖| 黄色成人免费在线| 丁香另类激情小说| 97se亚洲国产综合自在线不卡 | **性色生活片久久毛片| 最新久久zyz资源站| 亚洲欧美偷拍另类a∨色屁股| 亚洲狼人国产精品| 丝袜美腿成人在线| 国产精品亚洲专一区二区三区 | 久久国产视频网| 国产毛片一区二区| 97se亚洲国产综合自在线不卡| 欧美色图激情小说| 久久久久久久性| 亚洲一区二区在线观看视频| 美女在线一区二区| 91同城在线观看| 日韩欧美123| 亚洲视频资源在线| 婷婷一区二区三区| 成人av网站在线| 欧美一区二区免费观在线| 日本一区二区三区在线观看| 一区二区在线免费| 国产一区二区伦理片| 欧美日韩亚洲综合一区| 中文字幕免费在线观看视频一区| 亚洲成av人在线观看| 国产尤物一区二区在线| 欧美亚洲免费在线一区| 日本一区二区三区在线不卡| 午夜成人免费电影| 成人免费视频免费观看| 欧美成人官网二区| 亚洲一区在线播放| 99精品一区二区| 国产午夜亚洲精品羞羞网站| 丝袜诱惑亚洲看片| 色狠狠一区二区三区香蕉| 国产校园另类小说区| 久久综合综合久久综合| 欧美日韩第一区日日骚| 亚洲色图都市小说| 成人小视频在线观看| 精品国产欧美一区二区| 免费成人在线播放| 7777精品久久久大香线蕉| 一区二区三区中文字幕精品精品| 大尺度一区二区| 久久精品视频在线看| 狠狠色丁香久久婷婷综合_中| 欧美日韩大陆一区二区| 亚洲综合精品自拍| 欧美中文字幕亚洲一区二区va在线| 国产精品久久午夜夜伦鲁鲁| 成人一区二区三区视频在线观看 | 亚洲电影第三页| 日本乱码高清不卡字幕| 亚洲品质自拍视频网站| bt欧美亚洲午夜电影天堂| 国产精品免费av| 99免费精品在线观看| 国产精品久久久久一区二区三区| 国产成人av一区二区三区在线| 久久综合久久鬼色中文字| 国产一区二区三区不卡在线观看| 久久综合狠狠综合久久激情| 国产精品1024| 18涩涩午夜精品.www| 日本韩国欧美在线| 视频一区视频二区在线观看| 日韩一区二区精品| 国产精品一色哟哟哟| 国产精品久久影院| 欧亚洲嫩模精品一区三区| 日韩一区精品字幕| 精品国产91亚洲一区二区三区婷婷| 国产高清视频一区| 亚洲黄色免费电影| 欧美一区二区免费视频| 国产成人精品综合在线观看| 中文字幕在线不卡一区| 欧美吞精做爰啪啪高潮| 毛片不卡一区二区| 国产精品久久久久久久久果冻传媒| 色哟哟亚洲精品| 韩国v欧美v日本v亚洲v| 久久草av在线| 国产色产综合产在线视频| 成av人片一区二区| 亚洲一区二区在线观看视频| 91精品午夜视频| 成人免费毛片片v| 午夜精品久久久久久久久久| 亚洲精品一区二区三区精华液 | 日本韩国精品在线| 美女视频一区二区| 亚洲视频图片小说| 精品国产乱码久久| 欧美制服丝袜第一页| 国内精品久久久久影院薰衣草| 日韩美女精品在线| 精品久久久久久亚洲综合网| 91美女视频网站| 激情都市一区二区| 午夜精品aaa| 亚洲日本一区二区| 欧美精品三级在线观看| 视频一区中文字幕| 久久久久久久久97黄色工厂| 91蜜桃在线观看| 国产一区二区网址| 丝袜诱惑亚洲看片| 一区二区三区四区在线| 久久久精品免费免费| 欧美群妇大交群中文字幕| 99久久精品国产导航| 久久精品国产秦先生| 亚洲高清视频的网址| 亚洲欧美在线观看| 国产拍揄自揄精品视频麻豆| 欧美一级高清片在线观看| 精品视频1区2区3区| av午夜精品一区二区三区| 国产精品中文欧美| 蜜桃久久久久久久| 日韩不卡一区二区| 婷婷成人激情在线网| 亚洲丶国产丶欧美一区二区三区| 国产精品成人免费| 国产精品美日韩| 国产精品久久久久永久免费观看| 久久一区二区三区四区| 欧美va日韩va| 欧美电视剧在线观看完整版| 欧美一区二区三区免费在线看| 精品视频一区二区不卡| 欧美久久久久久蜜桃| 欧美女孩性生活视频| 欧美高清视频一二三区| 久久 天天综合| 久久亚洲欧美国产精品乐播| 欧美一区二区三区四区高清 | 国产欧美日韩卡一| xnxx国产精品| 久久久久久久久久久电影| 久久亚洲精品国产精品紫薇| 久久精品一区二区| 国产日产欧美一区二区视频| 国产欧美日韩综合精品一区二区| 久久精品这里都是精品| 国产精品色婷婷久久58| 亚洲日本va午夜在线影院| 一区二区三区日韩| 日本不卡1234视频| 国产一区二区成人久久免费影院 | 亚洲精品中文在线影院| 亚洲自拍另类综合| 免费观看在线色综合| 国产高清久久久| 日本乱人伦aⅴ精品| 欧美一二三四区在线| 中文字幕乱码久久午夜不卡 | 全国精品久久少妇| 国产精品亚洲成人| 在线看一区二区| 精品国产一区二区三区av性色| 国产精品女同互慰在线看| 亚洲在线视频网站| 国产一区二区三区四区在线观看 | 丝袜亚洲另类欧美综合| 国产一区高清在线| 91啦中文在线观看| 精品久久久久久久久久久院品网 | 美洲天堂一区二卡三卡四卡视频 | 91黄色免费看| 日韩精品一区二区三区四区| 国产精品传媒入口麻豆| 偷窥少妇高潮呻吟av久久免费| 国产成人啪午夜精品网站男同| 欧美日韩在线播|