?? decry.cpp
字號:
#include<iostream.h>
#include<fstream.h>
const int LENGTH=2;
ofstream textFile("codedData.txt"); //解密后的文件
void deCoding(char c[],char A[][LENGTH]); //將c中的字符用A解密后寫入文件textFile
void main()
{
int i,j;
char letter;
char c[LENGTH];//用于從密文中讀取字符串
char B[LENGTH][LENGTH];//用于存放加密的矩陣
char A[LENGTH][LENGTH];//用于存放加密的矩陣的逆矩陣
ifstream codedFile("textData.txt");//加密前的明文
ifstream matrixFile("matrix.txt");//打開用于加密的矩陣
if(!codedFile||!matrixFile) cout<<"不能打開文件。"<<endl;
//讀取矩陣文件
matrixFile>>letter;
for(i=0;i<LENGTH;i++)
for(j=0;j<LENGTH;j++){
B[i][j]=letter;
matrixFile>>letter;
}
//生成上述矩陣的逆矩陣
A[0][0]=B[1][1];
A[0][1]=-B[0][1];
A[1][0]=-B[1][0];
A[1][1]=-B[0][0];
//讀取密文并解密
codedFile>>letter;
for(i=0;codedFile;i++){
c[i%LENGTH]=letter;
if(i%LENGTH==LENGTH-1)//如果字符串長度剛好為LENGTHM,則加密
deCoding(c,A);
codedFile>>letter;
}
}
void deCoding(char c[],char A[][LENGTH])//將c中的字符用A解密后寫入文件textFile
{
int cc;//明文
//解密,寫入文件
for(int i=0;i<LENGTH;i++){
cc=0;
for(int j=0;j<LENGTH;j++){
cc=cc+(int)A[i][j]*(int)c[j];
textFile<<char(cc)<<' ';
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -