-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. Mac上的iPhone dev迷你
- 2. 银河迷你模拟器LCD密度
- 3. emacs功能发送密码到迷你缓冲区时询问
- 4. 使用XML和PHP的迷你高音单元项目
- 5. 如何将项目与迷上了
- 6. 来自C的迷你BASIC IDE#
- 7. C#中的神经密码学
- 8. 建立一个迷你物理引擎的目标c/cocos2d
- 9. 目标C中的迷你服务器实现
- 10. 迷你“分数守护者”项目 - 有几个问题
- 11. Android迷你游戏 - 延迟代码
- 12. 迷你幻灯片码适配
- 13. RSA密码学与原始键,C#
- 14. 密码python项目编号
- 15. vba项目属性密码
- 16. 无方法 '迷你'
- 17. Haskell迷你语言
- 18. 在开源项目中加密密码
- 19. X11与窗口ubuntu上迷你发行
- 20. 迷你图片浏览器(如myfonts.com上)
- 21. 你自己命名的项目(c#)
- 22. ctwill - cweb的迷你索引
- 23. 迷失Microstrategy管理员密码?
- 24. 你如何将你的项目上传到Netbeans的谷歌项目托管?
- 25. 迷失在现有的JS项目中
- 26. C++简单的蛮力项目密码输入法
- 27. 保护开源项目中的密码
- 28. 与C和C++代码的C++项目
- 29. 你如何在项目结束时通过不可避免的动机“低迷”?
- 30. C#Indexoutofrange Arrays学校项目错误
显然这个网站的主题。 –
@RicharCritten我应该问哪里? –
如果您正在寻找某人为您编写软件,那么您应该询问一位软件工程师。如果你正在编写软件,那么你应该通过课程和/或阅读教学C++书籍来学习C++。 –