資源簡介
C++開發的文件加密系統,絕對好用!

代碼片段和文件信息
#include?
#include
#include
#include
#include
#include
#include
using?namespace?std;
class?FileEncryptionSystem??????//抽象基類
{
public:
????virtual?void?Encrypt(char?plain[20]char?crypt[20])?=?0;?????//加密虛函數
????virtual?void?Decrypt(char?plain[20]char?crypt[20])?=?0;?????//解密虛函數
protected:
????char?PlainText[20];???????????????//明文
????char?CryptText[20];???????????????//密文
????char?FileContent[300];????????????//文件內容
};
class?Caesar:public?FileEncryptionSystem
{
public:
????virtual?void?Encrypt(char?plain[20]char?crypt[20]);
????virtual?void?Decrypt(char?plain[20]char?crypt[20]);
private:
????char?Key;
};
void?Caesar::Encrypt(char?plain[20]char?crypt[20])
{//加密
????strcpy(PlainTextplain);
????strcpy(CryptTextcrypt);
????//文件操作
????ifstream?infile(PlainTextios::in);???//定義輸入文件流,以輸入方式打開文件
????if(!infile)
????{
????????cerr< ????????exit(1);
????}
????ofstream?outfile(CryptTextios::out);??//默認為刪除原有數據新建
????if(!outfile)
????{
????????cerr< ????????exit(1);
????}
????//加密算法
????cout<<“請輸入加密密匙(數字):“;
????cin>>Key;
????while(!infile.eof())
????{
????????infile.getline(FileContent300‘\0‘);
????????cout<<“原文件內容為:“< ????????Sleep(2000);
????????for(?unsigned?i?=?0;?i?????????????//FileContent[i]?=?FileContent[i]?+?Key;
????????????FileContent[i]?=?FileContent[i]?+?(Key-‘0‘);
????????outfile?<????????cout<<“文件加密成功!按任意鍵返回?!?
????????cin.get();
????????cin.get();
????}
????infile.close();
????outfile.close();
}
void?Caesar::Decrypt(char?plain[20]char?crypt[20])
{//解密
????strcpy(PlainTextplain);
????strcpy(CryptTextcrypt);
????//文件操作
????ifstream?infile(PlainTextios::in);???//定義輸入文件流,以輸入方式打開文件
????if(!infile)
????{
????????cerr< ????????exit(1);
????}
????ofstream?outfile(CryptTextios::out);??//默認為刪除原有數據新建
????if(!outfile)
????{
????????cerr< ????????exit(1);
????}
????//解密
????cout<<“請輸入解密密匙(數字):“;
????cin>>Key;
????while(!infile.eof())
????{
????????infile.getline(FileContent300‘\0‘);
????????for(?unsigned?i?=?0;?i?????????????//FileContent[i]?=?FileContent[i]?-?Key;
????????????FileContent[i]?=?FileContent[i]?-?(Key-‘0‘);
????????outfile?<????????cout<<“解密后文件內容為:“< ????????Sleep(2000);
????????cout<<“文件解密成功!按任意鍵返回。“;
????????cin.get();
????????cin.get();
????}
????infile.close();
????outfile.close();
}
class?Shift:public?FileEncryptionSystem
{
public:
????virtual?void?Encrypt(char?plain[20]char?crypt[20]);
????virtual?void?Decrypt(char?plain[20]char?crypt[20]);
private:
????int?Key;
};
void?Shift::Encrypt(char?plain[20]char?crypt[20])
{//加密
????strcpy(PlainTextplain);
????strcpy(CryptTextcrypt);
????//文件操作
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????46??2015-06-13?12:00??文件加密系統\123.txt
?????文件?????????46??2015-06-13?17:59??文件加密系統\456.txt
?????文件?????????46??2015-06-13?18:00??文件加密系統\789.txt
?????文件?????988699??2015-06-13?11:13??文件加密系統\bin\Debug\文件加密系統.exe
?????文件??????10946??2015-06-13?11:13??文件加密系統\main.cpp
?????文件?????970102??2015-06-13?17:59??文件加密系統\main.exe
?????文件??????21614??2015-06-13?17:59??文件加密系統\main.o
?????文件??????45544??2015-06-13?11:13??文件加密系統\obj\Debug\main.o
?????文件???????1104??2015-01-08?08:31??文件加密系統\文件加密系統.cbp
?????文件????????336??2015-06-13?11:16??文件加密系統\文件加密系統.depend
?????文件????????324??2015-06-13?15:41??文件加密系統\文件加密系統.layout
?????目錄??????????0??2015-06-13?11:13??文件加密系統\bin\Debug
?????目錄??????????0??2015-06-13?11:13??文件加密系統\obj\Debug
?????目錄??????????0??2015-06-11?08:07??文件加密系統\bin
?????目錄??????????0??2015-06-11?08:07??文件加密系統\obj
?????目錄??????????0??2015-06-18?17:53??文件加密系統
-----------?---------??----------?-----??----
??????????????2038807????????????????????16
評論
共有 條評論