⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ceb.cpp

📁 程序是在vc++平台上实现的des算法
💻 CPP
字号:
#include "CFB.h"
#include<fstream.h>

void main()
{
unsigned char m0_bit[8]="";
unsigned char m_bit[8]="";
unsigned char k_bit[8]="";        //存放8位密钥
unsigned char m1_bit[8]="";       
unsigned char e_bit[8]="";
unsigned char e1_bit[8]="";  
unsigned char p_bit[8]="";  
int i=0 ;

printf("\nPlease enter the Password:");
for(i=0;i<8;i++)
    scanf("%c",&k_bit[i]);      //输入密钥
printf("\nThe Password is : ");
for(i=0;i<8;i++)
   printf("%c",k_bit[i]);       //输出密钥
printf("\nPlease enter the string:");
for(i=0;i<8;i++)
    scanf("%c",&p_bit[i]);      //输入初始向量
printf("\nThe String is : ");
for(i=0;i<8;i++)
printf("%c",p_bit[i]);       //输出初始向量
//getch();




printf("\nPlease enter the predecryptFilename");
char ch1[10];      //存放待解密的文件号
cin>>ch1;
printf("\nPlease enter the decryptFilename");
char ch2[10];      //存放解密后的文件号
cin>>ch2;
fstream infile1;
fstream outfile1;
infile1.open(ch1,ios::in|ios::binary);
outfile1.open(ch2,ios::out|ios::binary);




//读出密文,存放在m_bit[i]中
for(i=0;i<8;i++)
	{
	
		infile1.read(&m_bit[i],1);

	}
//密文和初始向量异或
for(i=0;i<8;i++)
{

  m1_bit[i]=m_bit[i] ^ p_bit[i];
  e_bit[i]=m1_bit[i];
}
//输出明文
for(i=0;i<8;i++)
   {
   
	   outfile1.write(&e_bit[i],1);
   }

while(!infile1.eof())


{
	//读出密文,存放在m_bit[i]中

	for(i=0;i<8;i++)
	{
	    m1_bit[i]=m_bit[i];
		infile1.read(&m_bit[i],1);
        //m1_bit[i]=e_bit[i];     //解出的明文存放在m1_bit[i],e_bit[i]中
	}

    endes(m1_bit,k_bit,e1_bit);   
	for(i=0;i<8;i++)
	{
	  e_bit[i]=e1_bit[i] ^ m_bit[i];
		

	}


   for(i=0;i<8;i++)
   {
   
	   outfile1.write(&e_bit[i],1);
   }
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -