?? 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 + -