📄 ceb.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 + -