-7
A
回答
0
對於如何加密文件有一個相當簡單的答案。 此腳本使用XOR encryption加密文件。 再次加密文件以解密文件。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void encrypt (string &key,string &data){
float percent;
for (int i = 0;i < data.size();i++){
percent = (100*i)/key.size(); //progress of encryption
data[i] = data.c_str()[i]^key[i%key.size()];
if (percent < 100){
cout << percent << "%\r"; //outputs percent, \r makes
}else{ //cout to overwrite the
cout<< "100%\r"; //last line.
}
}
}
int main()
{
string data;
string key = "This_is_the_key";
ifstream in ("File",ios::binary); // this input stream opens the
// the file and ...
data.reserve (1000);
in >> data; // ... reads the data in it.
in.close();
encrypt(key,data);
ofstream out("File",ios::binary);//opens the output stream and ...
out << data; //... writes encrypted data to file.
out.close();
return 0;
}
這行代碼是在加密情況:
data[i] = data.c_str()[i]^key[i%key.size()];
它單獨地加密每個字節。 每個字節進行加密,因爲這種加密 期間更改一個字符:
key[i%key.size()]
但也有很多的加密方法,例如,你可以加1,每個字節(加密)和減去1從每個字節(解密):
//Encryption
for (int i = 0;i < data.size();i++){
data[i] = data.c_str()[i]+1;
}
//Decryption
for (int i = 0;i < data.size();i++){
data[i] = data.c_str()[i]-1;
}
我認爲這是沒有什麼用處,因爲它是快速的顯示進度。
如果你真的想做一個GUI,我會推薦Visual Studio。
希望有幫助。
相關問題
- 1. 關於密碼學項目的建議
- 2. Mac上的iPhone dev迷你
- 3. C++學校項目
- 4. 銀河迷你模擬器LCD密度
- 5. emacs功能發送密碼到迷你緩衝區時詢問
- 6. 使用XML和PHP的迷你高音單元項目
- 7. 如何將項目與迷上了
- 8. 來自C的迷你BASIC IDE#
- 9. C#中的神經密碼學
- 10. 建立一個迷你物理引擎的目標c/cocos2d
- 11. 我必須寫迷你項目,不知道如何開始
- 12. 迷你「分數守護者」項目 - 有幾個問題
- 13. Android迷你遊戲 - 延遲代碼
- 14. 迷你幻燈片碼適配
- 15. 迷你添加到購物車編碼
- 16. C迷你外殼,處理問題SIGCHLD
- 17. RSA密碼學與原始鍵,C#
- 18. 需要密碼學幫助,C編程
- 19. vba項目屬性密碼
- 20. 密碼python項目編號
- 21. Haskell迷你語言
- 22. Stackoverflows迷你探查
- 23. D3JS迷你地圖
- 24. 有迷你測試
- 25. 無方法 '迷你'
- 26. 迷你圖片瀏覽器(如myfonts.com上)
- 27. X11與窗口ubuntu上迷你發行
- 28. 在開源項目中加密密碼
- 29. 測試你在大型的C代碼項目
- 30. 你自己命名的項目(c#)
顯然這個網站的主題。 –
@RicharCritten我應該問哪裏? –
如果您正在尋找某人爲您編寫軟件,那麼您應該詢問一位軟件工程師。如果你正在編寫軟件,那麼你應該通過課程和/或閱讀教學C++書籍來學習C++。 –