有的時候,我們寫了一些文檔,或者下載了一些秘密文件,卻不想讓別人看到。
成都創(chuàng)新互聯(lián)公司是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計公司的優(yōu)秀設(shè)計人員和策劃人員組成的一個具有豐富經(jīng)驗的團隊,其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設(shè)計師、平面廣告設(shè)計師、網(wǎng)絡(luò)營銷人員及形象策劃。承接:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)頁設(shè)計制作、網(wǎng)站建設(shè)與維護、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫開發(fā),以高性價比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺等全方位的服務。如果別人偏要看,這下怎么辦?!決不能“涼拌”!
這時候,我們就可以做一個文件加密器!這下別人就看不到了。嘿嘿嘿……
今天,我就教大家用C++做一個簡單的文件加密器,而且加密效果還非常好!還可以把加密后的文件反過來解密。(看之前要干什么不用我多說,點贊+關(guān)注)
首先,一個文件加密器要有讀取文件和保存文件的功能。代碼如下:
#include//導入萬能頭文件
using namespace std;
vectorcodestr; //用來存放讀取的信息
void incode(string inpath){ //讀取文件函數(shù)
ifstream in(inpath); //用讀的方式打開文件
string tmp;
while (getline(in, tmp)){
codestr.push_back(tmp);
}
in.close(); //關(guān)閉文件流
}
void outcode(string outpath){ //輸出文件函數(shù)
ofstream out(outpath); //用寫的方式打開文件
out.clear(); //清空文件
//代碼
out.close(); //關(guān)閉文件流
}
int main(){
string s;
while (1){
cout<< "請輸入加密(或解密)的文件路徑:";
getline(cin, s);
incode(s);
outcode(s);
cout<< "加密(或解密)完畢!"<< endl<< endl;
codestr.clear(); //清空
}
return 0;
}
獲取文件信息后,該怎么加密呢?
這里給大家推薦一個既簡單,又好用的方法——取反加密。
具體的原理是:把字符串的每一位字符(char)所對應的ASCII碼值取反,在把得到的值轉(zhuǎn)換為字符,保存下來。
代碼如下:
for (int i = 0; i< codestr.size(); ++i){
//遍歷字符串的每一位字符
for (int j = 0; j< codestr[i].size(); ++j){
out<< (char)~codestr[i][j]; //取反,并輸出取反后的字符
}
out<< endl;
}
我們的文件加密器就這樣做好了!代碼大概長這樣:
#includeusing namespace std;
vectorcodestr;
void incode(string inpath){
ifstream in(inpath);
string tmp;
while (getline(in, tmp)){
codestr.push_back(tmp);
}
in.close();
}
void outcode(string outpath){
ofstream out(outpath);
out.clear();
for (int i = 0; i< codestr.size(); ++i){
for (int j = 0; j< codestr[i].size(); ++j){
out<< (char)~codestr[i][j];
}
out<< endl;
}
out.close();
}
int main(){
string s;
while (1){
cout<< "請輸入加密(或解密)的文件路徑:";
getline(cin, s);
incode(s);
outcode(s);
cout<< "加密(或解密)完畢!"<< endl<< endl;
codestr.clear();
}
return 0;
}
運行一下看看效果:
我相信是個人都看不出來加密后的文件原來長什么樣。效果是不是非常好?
今天就分享到這里了!記得點贊+關(guān)注!
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧