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

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

?? cdes.cpp

?? 學校兩基管理系統(tǒng)
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// CDES.cpp: implementation of the CDES class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CDES.h"
#include <memory.h>

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

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

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

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


	S1[0][0]=14;S1[0][1]=4;S1[0][2]=13;S1[0][3]=1;S1[0][4]=2;S1[0][5]=15;S1[0][6]=11;S1[0][7]=8;
	S1[0][8]=3;S1[0][9]=10;S1[0][10]=6;S1[0][11]=12;S1[0][12]=5;S1[0][13]=9;S1[0][14]=0;S1[0][15]=7;
	
	S1[1][0]=0;S1[1][1]=15;S1[1][2]=7;S1[1][3]=4;S1[1][4]=14;S1[1][5]=2;S1[1][6]=13;S1[1][7]=1;
	S1[1][8]=10;S1[1][9]=6;S1[1][10]=12;S1[1][11]=11;S1[1][12]=9;S1[1][13]=5;S1[1][14]=3;S1[1][15]=8;

	S1[2][0]=4;S1[2][1]=1;S1[2][2]=14;S1[2][3]=8;S1[2][4]=13;S1[2][5]=6;S1[2][6]=2;S1[2][7]=11;
	S1[2][8]=15;S1[2][9]=12;S1[2][10]=9;S1[2][11]=7;S1[2][12]=3;S1[2][13]=10;S1[2][14]=5;S1[2][15]=0;
	
	S1[3][0]=15;S1[3][1]=12;S1[3][2]=8;S1[3][3]=2;S1[3][4]=4;S1[3][5]=9;S1[3][6]=1;S1[3][7]=7;
	S1[3][8]=5;S1[3][9]=11;S1[3][10]=3;S1[3][11]=14;S1[3][12]=10;S1[3][13]=0;S1[3][14]=6;S1[3][15]=13;

 
	S2[0][0]=15;S2[0][1]=1;S2[0][2]=8;S2[0][3]=14;S2[0][4]=6;S2[0][5]=11;S2[0][6]=3;S2[0][7]=4;
	S2[0][8]=9;S2[0][9]=7;S2[0][10]=2;S2[0][11]=13;S2[0][12]=12;S2[0][13]=0;S2[0][14]=5;S2[0][15]=10;

	S2[1][0]=3;S2[1][1]=13;S2[1][2]=4;S2[1][3]=7;S2[1][4]=15;S2[1][5]=2;S2[1][6]=8;S2[1][7]=14;
	S2[1][8]=12;S2[1][9]=0;S2[1][10]=1;S2[1][11]=10;S2[1][12]=6;S2[1][13]=9;S2[1][14]=11;S2[1][15]=5;
	
	S2[2][0]=0;S2[2][1]=14;S2[2][2]=7;S2[2][3]=11;S2[2][4]=10;S2[2][5]=4;S2[2][6]=13;S2[2][7]=1;
	S2[2][8]=5;S2[2][9]=8;S2[2][10]=12;S2[2][11]=6;S2[2][12]=9;S2[2][13]=3;S2[2][14]=2;S2[2][15]=15;

	S2[3][0]=13;S2[3][1]=8;S2[3][2]=10;S2[3][3]=1;S2[3][4]=3;S2[3][5]=15;S2[3][6]=4;S2[3][7]=2;
	S2[3][8]=11;S2[3][9]=6;S2[3][10]=7;S2[3][11]=12;S2[3][12]=0;S2[3][13]=5;S2[3][14]=14;S2[3][15]=9;



	S3[0][0]=10;S3[0][1]=0;S3[0][2]=9;S3[0][3]=14;S3[0][4]=6;S3[0][5]=3;S3[0][6]=15;S3[0][7]=5;
	S3[0][8]=1;S3[0][9]=13;S3[0][10]=12;S3[0][11]=7;S3[0][12]=11;S3[0][13]=4;S3[0][14]=2;S3[0][15]=8;
	
	S3[1][0]=13;S3[1][1]=7;S3[1][2]=0;S3[1][3]=9;S3[1][4]=3;S3[1][5]=4;S3[1][6]=6;S3[1][7]=10;
	S3[1][8]=2;S3[1][9]=8;S3[1][10]=5;S3[1][11]=14;S3[1][12]=12;S3[1][13]=11;S3[1][14]=15;S3[1][15]=1;

	S3[2][0]=13;S3[2][1]=6;S3[2][2]=4;S3[2][3]=9;S3[2][4]=8;S3[2][5]=15;S3[2][6]=3;S3[2][7]=0;
	S3[2][8]=11;S3[2][9]=1;S3[2][10]=2;S3[2][11]=12;S3[2][12]=5;S3[2][13]=10;S3[2][14]=14;S3[2][15]=7;

	S3[3][0]=1;S3[3][1]=10;S3[3][2]=13;S3[3][3]=0;S3[3][4]=6;S3[3][5]=9;S3[3][6]=8;S3[3][7]=7;
	S3[3][8]=4;S3[3][9]=15;S3[3][10]=14;S3[3][11]=3;S3[3][12]=11;S3[3][13]=5;S3[3][14]=2;S3[3][15]=12;

	S4[0][0]=7;S4[0][1]=13;S4[0][2]=14;S4[0][3]=3;S4[0][4]=0;S4[0][5]=6;S4[0][6]=9;S4[0][7]=10;
	S4[0][8]=1;S4[0][9]=2;S4[0][10]=8;S4[0][11]=5;S4[0][12]=11;S4[0][13]=12;S4[0][14]=4;S4[0][15]=15;

	S4[1][0]=13;S4[1][1]=8;S4[1][2]=11;S4[1][3]=5;S4[1][4]=6;S4[1][5]=15;S4[1][6]=0;S4[1][7]=3;
	S4[1][8]=4;S4[1][9]=7;S4[1][10]=2;S4[1][11]=12;S4[1][12]=1;S4[1][13]=10;S4[1][14]=14;S4[1][15]=9;
	
	S4[2][0]=10;S4[2][1]=6;S4[2][2]=9;S4[2][3]=0;S4[2][4]=12;S4[2][5]=11;S4[2][6]=7;S4[2][7]=13;
	S4[2][8]=15;S4[2][9]=1;S4[2][10]=3;S4[2][11]=14;S4[2][12]=5;S4[2][13]=2;S4[2][14]=8;S4[2][15]=4;

	S4[3][0]=3;S4[3][1]=15;S4[3][2]=0;S4[3][3]=6;S4[3][4]=10;S4[3][5]=1;S4[3][6]=13;S4[3][7]=8;
	S4[3][8]=9;S4[3][9]=4;S4[3][10]=5;S4[3][11]=11;S4[3][12]=12;S4[3][13]=7;S4[3][14]=2;S4[3][15]=14;

	S5[0][0]=2;S5[0][1]=12;S5[0][2]=4;S5[0][3]=1;S5[0][4]=7;S5[0][5]=10;S5[0][6]=11;S5[0][7]=6;
	S5[0][8]=8;S5[0][9]=5;S5[0][10]=3;S5[0][11]=15;S5[0][12]=13;S5[0][13]=0;S5[0][14]=14;S5[0][15]=9;
	S5[1][0]=14;S5[1][1]=11;S5[1][2]=2;S5[1][3]=12;S5[1][4]=4;S5[1][5]=7;S5[1][6]=13;S5[1][7]=1;
	S5[1][8]=5;S5[1][9]=0;S5[1][10]=15;S5[1][11]=10;S5[1][12]=3;S5[1][13]=9;S5[1][14]=8;S5[1][15]=6;
	S5[2][0]=4;S5[2][1]=2;S5[2][2]=1;S5[2][3]=11;S5[2][4]=10;S5[2][5]=13;S5[2][6]=7;S5[2][7]=8;
	S5[2][8]=15;S5[2][9]=9;S5[2][10]=12;S5[2][11]=5;S5[2][12]=6;S5[2][13]=3;S5[2][14]=0;S5[2][15]=14;
	S5[3][0]=11;S5[3][1]=8;S5[3][2]=12;S5[3][3]=7;S5[3][4]=1;S5[3][5]=14;S5[3][6]=2;S5[3][7]=13;
	S5[3][8]=6;S5[3][9]=15;S5[3][10]=0;S5[3][11]=9;S5[3][12]=10;S5[3][13]=4;S5[3][14]=5;S5[3][15]=3;
	/*
unsigned char S5[4][16]={
	{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}
};*/
	S6[0][0]=12;S6[0][1]=1;S6[0][2]=10;S6[0][3]=15;S6[0][4]=9;S6[0][5]=2;S6[0][6]=6;S6[0][7]=8;
	S6[0][8]=0;S6[0][9]=13;S6[0][10]=3;S6[0][11]=4;S6[0][12]=14;S6[0][13]=7;S6[0][14]=5;S6[0][15]=11;
	S6[1][0]=10;S6[1][1]=15;S6[1][2]=4;S6[1][3]=2;S6[1][4]=7;S6[1][5]=12;S6[1][6]=9;S6[1][7]=5;
	S6[1][8]=6;S6[1][9]=1;S6[1][10]=13;S6[1][11]=14;S6[1][12]=0;S6[1][13]=11;S6[1][14]=3;S6[1][15]=8;
	S6[2][0]=9;S6[2][1]=14;S6[2][2]=15;S6[2][3]=5;S6[2][4]=2;S6[2][5]=8;S6[2][6]=12;S6[2][7]=3;
	S6[2][8]=7;S6[2][9]=0;S6[2][10]=4;S6[2][11]=10;S6[2][12]=1;S6[2][13]=13;S6[2][14]=11;S6[2][15]=6;
	S6[3][0]=4;S6[3][1]=3;S6[3][2]=2;S6[3][3]=12;S6[3][4]=9;S6[3][5]=5;S6[3][6]=15;S6[3][7]=10;
	S6[3][8]=11;S6[3][9]=14;S6[3][10]=1;S6[3][11]=7;S6[3][12]=6;S6[3][13]=0;S6[3][14]=8;S6[3][15]=13;
	/*
unsigned char S6[4][16]={
	{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}
};
*/
	S7[0][0]=4;S7[0][1]=11;S7[0][2]=2;S7[0][3]=14;S7[0][4]=15;S7[0][5]=0;S7[0][6]=8;S7[0][7]=13;
	S7[0][8]=3;S7[0][9]=12;S7[0][10]=9;S7[0][11]=7;S7[0][12]=5;S7[0][13]=10;S7[0][14]=6;S7[0][15]=1;
	S7[1][0]=13;S7[1][1]=0;S7[1][2]=11;S7[1][3]=7;S7[1][4]=4;S7[1][5]=9;S7[1][6]=1;S7[1][7]=10;
	S7[1][8]=14;S7[1][9]=3;S7[1][10]=5;S7[1][11]=12;S7[1][12]=2;S7[1][13]=15;S7[1][14]=8;S7[1][15]=6;
	S7[2][0]=1;S7[2][1]=4;S7[2][2]=11;S7[2][3]=13;S7[2][4]=12;S7[2][5]=3;S7[2][6]=7;S7[2][7]=14;
	S7[2][8]=10;S7[2][9]=15;S7[2][10]=6;S7[2][11]=8;S7[2][12]=0;S7[2][13]=5;S7[2][14]=9;S7[2][15]=2;
	S7[3][0]=6;S7[3][1]=11;S7[3][2]=13;S7[3][3]=8;S7[3][4]=1;S7[3][5]=4;S7[3][6]=10;S7[3][7]=7;
	S7[3][8]=9;S7[3][9]=5;S7[3][10]=0;S7[3][11]=15;S7[3][12]=14;S7[3][13]=2;S7[3][14]=3;S7[3][15]=12;
	/*
unsigned char S7[4][16]={
	{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}
};
*/
	S8[0][0]=13;S8[0][1]=2;S8[0][2]=8;S8[0][3]=4;S8[0][4]=6;S8[0][5]=15;S8[0][6]=11;S8[0][7]=1;
	S8[0][8]=10;S8[0][9]=9;S8[0][10]=3;S8[0][11]=14;S8[0][12]=5;S8[0][13]=0;S8[0][14]=12;S8[0][15]=7;
	S8[1][0]=1;S8[1][1]=15;S8[1][2]=13;S8[1][3]=8;S8[1][4]=10;S8[1][5]=3;S8[1][6]=7;S8[1][7]=4;
	S8[1][8]=12;S8[1][9]=5;S8[1][10]=6;S8[1][11]=11;S8[1][12]=0;S8[1][13]=14;S8[1][14]=9;S8[1][15]=2;
	S8[2][0]=7;S8[2][1]=11;S8[2][2]=4;S8[2][3]=1;S8[2][4]=9;S8[2][5]=12;S8[2][6]=14;S8[2][7]=2;
	S8[2][8]=0;S8[2][9]=6;S8[2][10]=10;S8[2][11]=13;S8[2][12]=15;S8[2][13]=3;S8[2][14]=5;S8[2][15]=8;
	S8[3][0]=2;S8[3][1]=1;S8[3][2]=14;S8[3][3]=7;S8[3][4]=4;S8[3][5]=10;S8[3][6]=8;S8[3][7]=13;
	S8[3][8]=15;S8[3][9]=12;S8[3][10]=9;S8[3][11]=0;S8[3][12]=3;S8[3][13]=5;S8[3][14]=6;S8[3][15]=11;
	/*
unsigned char S8[4][16]={
	{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}
};
*/
	P[0]=16;P[1]=7;P[2]=20;P[3]=21;P[4]=29;P[5]=12;P[6]=28;P[7]=17;
	P[8]=1;P[9]=15;P[10]=23;P[11]=26;P[12]=5;P[13]=18;P[14]=31;P[15]=10;
	P[16]=2;P[17]=8;P[18]=24;P[19]=14;P[20]=32;P[21]=27;P[22]=3;P[23]=9;
	P[24]=19;P[25]=13;P[26]=30;P[27]=6;P[28]=22;P[29]=11;P[30]=4;P[31]=25;
/*int P[]={
		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};
*/
	PC_1[0]=57;PC_1[1]=49;PC_1[2]=41;PC_1[3]=33;PC_1[4]=25;PC_1[5]=17;PC_1[6]=9;
	PC_1[7]=1;PC_1[8]=58;PC_1[9]=50;PC_1[10]=42;PC_1[11]=34;PC_1[12]=26;PC_1[13]=18;
	PC_1[14]=10;PC_1[15]=2;PC_1[16]=59;PC_1[17]=51;PC_1[18]=43;PC_1[19]=35;PC_1[20]=27;
	PC_1[21]=19;PC_1[22]=11;PC_1[23]=3;PC_1[24]=60;PC_1[25]=52;PC_1[26]=44;PC_1[27]=36;
	PC_1[28]=63;PC_1[29]=55;PC_1[30]=47;PC_1[31]=39;PC_1[32]=31;PC_1[33]=23;PC_1[34]=15;
	PC_1[35]=7;PC_1[36]=62;PC_1[37]=54;PC_1[38]=46;PC_1[39]=38;PC_1[40]=30;PC_1[41]=22;
	PC_1[42]=14;PC_1[43]=6;PC_1[44]=61;PC_1[45]=53;PC_1[46]=45;PC_1[47]=37;PC_1[48]=29;
	PC_1[49]=21;PC_1[50]=13;PC_1[51]=5;PC_1[52]=28;PC_1[53]=20;PC_1[54]=12;PC_1[55]=4;
	/*
int 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};
*/
	PC_2[0]=14;PC_2[1]=17;PC_2[2]=11;PC_2[3]=24;PC_2[4]=1;PC_2[5]=5;
	PC_2[6]=3;PC_2[7]=28;PC_2[8]=15;PC_2[9]=6;PC_2[10]=21;PC_2[11]=10;
	PC_2[12]=23;PC_2[13]=19;PC_2[14]=12;PC_2[15]=4;PC_2[16]=26;PC_2[17]=8;
	PC_2[18]=16;PC_2[19]=7;PC_2[20]=27;PC_2[21]=20;PC_2[22]=13;PC_2[23]=2;
	PC_2[24]=41;PC_2[25]=52;PC_2[26]=31;PC_2[27]=37;PC_2[28]=47;PC_2[29]=55;
	PC_2[30]=30;PC_2[31]=40;PC_2[32]=51;PC_2[33]=45;PC_2[34]=33;PC_2[35]=48;
	PC_2[36]=44;PC_2[37]=49;PC_2[38]=39;PC_2[39]=56;PC_2[40]=34;PC_2[41]=53;
	PC_2[42]=46;PC_2[43]=42;PC_2[44]=50;PC_2[45]=36;PC_2[46]=29;PC_2[47]=32;
	/*
int 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};*/
//int LS[]={1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1};
	LS[0]=1;LS[1]=1;LS[2]=2;LS[3]=2;LS[4]=2;LS[5]=2;LS[6]=2;LS[7]=2;
	LS[8]=1;LS[9]=2;LS[10]=2;LS[11]=2;LS[12]=2;LS[13]=2;LS[14]=2;LS[15]=1;
//unsigned char CONST1[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
	CONST1[0]=0x80;CONST1[1]=0x40;CONST1[2]=0x20;CONST1[3]=0x10;
	CONST1[4]=0x08;CONST1[5]=0x04;CONST1[6]=0x02;CONST1[7]=0x01;
//unsigned char CONST2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
	CONST2[0]=0x7f;CONST2[1]=0xbf;CONST2[2]=0xdf;CONST2[3]=0xef;
	CONST2[4]=0xf7;CONST2[5]=0xfb;CONST2[6]=0xfd;CONST2[7]=0xfe;
}

DES::~DES()
{

}
/**********Byte8To64Bit**********/
// Function Name: Byte8To64Bit
// 傳入?yún)?shù): Byte[8]
// 功能:將傳入的8bytes 轉為64bits (binary type)
// 傳出參數(shù):Bit[64]
// 返回值: void
/********************************/
void DES::Byte8To64Bit(unsigned char Byte[8],unsigned char Bit[64])
{
	int i,j;
	for(i=0;i<8;i++)
	{
	   for(j=0;j<8;j++)
	   {
		/*   if((Bit[i] & CONST1[j]) == CONST1[j])
			   Byte[i*8+j]=0x01;
			   */
		   //如果對應的位為1,則分別將對應的位置為0x01
		   //CONST1[i]==>0x80,  0x40,    0x20,  0x10,  0x08, 0x04,0x02,0x01
		   //Decimal       128  64       32     16     8     4     2    1
		   //Binary  111111111  11111111 111111 11111  1111  111   11   1
		   	if((*(Byte+i) & *(CONST1+j)) == *(CONST1+j))
				*(Bit+i*8+j) = 0x01;
	   }
	}	
}

/**********Bit64To8Byte**********/
// Function Name: Bit64To8Byte
// 傳入?yún)?shù): Bit[64]
// 功能:將傳入的64bits 轉為8bytes
// 傳出參數(shù):Byte[8]
// 返回值: void
/********************************/
void DES::Bit64To8Byte(unsigned char Bit[64],unsigned char Byte[8])
{
	int i,j;
	for(i=0;i<8;i++)
	{
		for(j=0;j<8;j++)
		{
		
			if(*(Bit+8*i+j) == 0x01)
				*(Byte+i) |= *(CONST1+j);
			else *(Byte+i) &= *(CONST2+j);
			/*
			if(Byte[8*i+j] == 0x01)
				Bit[i] |= CONST1[j];
			else Bit[i] &= CONST2[j];
			*/
		}

	}
}

/**********BuildKey**********/
// Function Name: BuildKey
// 傳入?yún)?shù): origokey[8]
// 功能:由傳入的origokey經(jīng)過位移后得K1,K2...K16(每個key為48位),
//       存于key[i]中
// 傳出參數(shù):key[16][8]
// 返回值: void
/********************************/

void DES::BuildKey(unsigned char origokey[8],unsigned char key[16][8])
{
	int i,j,k;
	unsigned char Bit64[64];
	unsigned char Swap_Bit[64];
	unsigned char Key_Bit[16][64];
	unsigned char C0[28],D0[28];
	unsigned char c_tmp,d_tmp;
	memset(Bit64,0,64);
	memset(Swap_Bit,0,sizeof(Swap_Bit));
	memset(Key_Bit,0,sizeof(Key_Bit));
	memset(C0,0,28);
	memset(D0,0,28);

	Byte8To64Bit(origokey,Bit64);
	//pc-1
	/*
#ifdef DEBUG
	printf("\n");
	for(i=0;i<64;i++)
		printf("%d",Bit64[i]);
	printf("\n");
#endif
	*/
	// PC-1
	for(i=0;i<56;i++)
	{
		if(i<28)
			C0[i]=Bit64[PC_1[i]-1];
		else
			D0[i-28]=Bit64[PC_1[i]-1];
	}
/*
#ifdef DEBUG
	for(i=0;i<56;i++)
	{
		if(i<28)
			printf("%d",C0[i]);
		else printf("%d",D0[i-28]);
	}
	printf("\n");
#endif
*/
	for(i=0;i<16;i++){
		for(j=0;j<LS[i];j++){
			c_tmp=C0[0];
			d_tmp=D0[0];
			for(k=0;k<27;k++)
			{
				C0[k]=C0[k+1];
				D0[k]=D0[k+1];
			}
			C0[27]=c_tmp;
			D0[27]=d_tmp;
		}	
		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91搞黄在线观看| 亚洲综合无码一区二区| 麻豆国产精品一区二区三区| 在线电影一区二区三区| 日产国产欧美视频一区精品| 91精品国产综合久久久久| 日韩精品久久久久久| 日韩欧美的一区| 国产精品自拍网站| 国产精品乱子久久久久| 99精品久久久久久| 亚洲一区二区三区四区在线| 欧美日韩国产一区二区三区地区| 免费高清在线一区| 国产亚洲成aⅴ人片在线观看| 成人美女视频在线观看| 一区二区三区中文字幕电影| 制服丝袜亚洲精品中文字幕| 捆绑变态av一区二区三区| 国产欧美视频一区二区| 91丝袜美腿高跟国产极品老师| 天天综合色天天| 久久夜色精品一区| 91免费在线播放| 男男gaygay亚洲| 亚洲欧洲av另类| 欧美疯狂性受xxxxx喷水图片| 国产乱理伦片在线观看夜一区| 亚洲日本一区二区三区| 91精品国产综合久久久久久| 成人黄页在线观看| 日韩精品一卡二卡三卡四卡无卡| 国产欧美精品一区二区色综合朱莉| 91成人免费在线| 国产毛片一区二区| 视频在线在亚洲| 国产精品久久久久7777按摩| 欧美一区二区日韩| 97久久精品人人爽人人爽蜜臀| 久久精品久久综合| 亚洲精品中文字幕乱码三区| 久久婷婷成人综合色| 欧美在线不卡视频| 成人激情午夜影院| 久国产精品韩国三级视频| 亚洲黄色免费网站| 久久久久久久网| 欧美一区三区二区| 91黄色免费版| 成人福利视频在线看| 美女一区二区视频| 三级精品在线观看| 一区二区三区毛片| 亚洲欧洲成人av每日更新| 国产婷婷色一区二区三区在线| 欧美一级黄色大片| 欧美日韩在线不卡| 99re66热这里只有精品3直播| 狠狠色丁香久久婷婷综合_中| 五月天网站亚洲| 亚洲精品成a人| 136国产福利精品导航| 久久久久久久久免费| 欧美mv日韩mv国产网站| 91精品黄色片免费大全| 欧美高清视频不卡网| 欧美性猛交xxxx黑人交| 91蜜桃视频在线| 91丝袜美女网| 色婷婷激情一区二区三区| 不卡区在线中文字幕| 成人高清视频在线观看| 成人av午夜影院| 成人久久18免费网站麻豆| 国产91色综合久久免费分享| 丁香六月综合激情| 国产91清纯白嫩初高中在线观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 日韩黄色片在线观看| 亚洲18影院在线观看| 无码av免费一区二区三区试看| 亚洲高清不卡在线观看| 亚洲h精品动漫在线观看| 亚洲中国最大av网站| 亚洲国产精品精华液网站| 一级日本不卡的影视| 亚洲制服丝袜一区| 亚洲一区二区欧美| 视频一区二区欧美| 精品一区二区三区在线播放 | 国产+成+人+亚洲欧洲自线| 国产黄人亚洲片| 成人动漫中文字幕| 在线影院国内精品| 欧美人妖巨大在线| 欧美精品一区二区三区高清aⅴ| 精品电影一区二区| 国产精品久久毛片av大全日韩| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 国产精品一区二区久久不卡 | 中文字幕一区在线| 伊人一区二区三区| 丝袜诱惑亚洲看片| 国内精品国产成人国产三级粉色| 成人永久看片免费视频天堂| 色综合久久久久综合99| 欧美日本在线观看| 26uuu欧美日本| 亚洲美女免费视频| 日韩中文字幕av电影| 国产精品白丝jk白祙喷水网站| 93久久精品日日躁夜夜躁欧美| 欧美日韩在线播放三区| 精品久久久久久最新网址| 亚洲欧洲精品一区二区精品久久久| 视频一区二区三区中文字幕| 国产精品一区在线| 欧美在线观看视频一区二区| 久久免费国产精品| 亚洲影视资源网| 九九九精品视频| 日本电影亚洲天堂一区| 欧美va在线播放| 夜夜精品视频一区二区 | 91精品欧美综合在线观看最新| 国产精品女主播av| 99视频精品全部免费在线| 在线不卡a资源高清| 夜色激情一区二区| 91精品国产综合久久精品| 国产成人免费视频网站| 欧美中文字幕亚洲一区二区va在线| 日韩精品中文字幕一区 | 欧美色区777第一页| 久久久久久夜精品精品免费| 亚洲第一搞黄网站| 99免费精品视频| 2021中文字幕一区亚洲| 亚洲第一激情av| 色呦呦国产精品| 国产女人18毛片水真多成人如厕| 免费一级欧美片在线观看| 91成人看片片| 亚洲天堂福利av| 懂色av一区二区三区蜜臀| 精品久久人人做人人爰| 日韩中文字幕亚洲一区二区va在线| 色综合天天综合网国产成人综合天 | 在线国产电影不卡| 国产欧美日韩激情| 激情小说欧美图片| 日韩欧美一二三四区| 肉色丝袜一区二区| 欧美人妖巨大在线| 亚洲一区二区三区四区在线观看| 不卡视频在线观看| 中文字幕一区二| fc2成人免费人成在线观看播放| 久久久久久亚洲综合| 国产一区二区精品久久99| 精品国一区二区三区| 日本亚洲三级在线| 欧美一区二区私人影院日本| 肉色丝袜一区二区| 91精品蜜臀在线一区尤物| 日本 国产 欧美色综合| 91精品久久久久久蜜臀| 日本不卡123| 91精品国产欧美一区二区成人 | 日本福利一区二区| 伊人婷婷欧美激情| 欧美三级午夜理伦三级中视频| 一二三区精品视频| 欧美高清视频不卡网| 喷水一区二区三区| 久久久影院官网| 不卡免费追剧大全电视剧网站| 亚洲图片你懂的| 欧美在线免费视屏| 免费在线欧美视频| 久久九九全国免费| 99精品黄色片免费大全| 亚洲一区二区三区国产| 欧美日韩国产小视频在线观看| 喷水一区二区三区| 国产亚洲女人久久久久毛片| 成人精品小蝌蚪| 亚洲最新视频在线观看| 欧美精品 日韩| 国产高清成人在线| 亚洲激情图片qvod| 日韩一区二区三区三四区视频在线观看| 久久精品噜噜噜成人88aⅴ| 国产午夜亚洲精品理论片色戒| eeuss国产一区二区三区| 亚洲国产精品麻豆| 精品国产一区久久| 91在线播放网址| 青草av.久久免费一区| 国产精品网曝门|