【发布时间】:2012-01-25 12:10:05
【问题描述】:
我正在制作一个应用程序,它编写一个包含 3 个字符串的小 txt 文件,然后将它们加载回应用程序中的列表小部件中。
这一切都很好,但现在我想使它的 txt 文件不是纯文本。我不需要任何复杂的密码或任何需要密钥来加密和解密的东西。我只是希望能够在保存时对其进行加密(保存不是纯文本的文档)并在将其加载回丢失的小部件之前对其进行解密。
以下是我用于写入和读取 txt 文件的代码。我只是想修改它,所以它不是纯文本,我不在乎它不安全,只是不是纯文本
QFile m_file("mytext.txt");
m_file.open(QFile::WriteOnly | QFile::Append);
QTextStream m_stream(&m_file);
m_stream << ui->txt_1->text() + " " + ui->txt_2->text() + " " + ui->txt_3->text() <<;
m_file.close();
QFile n_file("mytext.txt");
n_file.open(QFile::ReadOnly);
QTextStream n_stream(&n_file);
int i=0;
while (!n_stream.atEnd())
{
ui->listWidget->addItem(n_stream.readLine());
i++;
}
【问题讨论】:
-
如果你想要的只是最低限度,你总是可以在保存时对所有字节进行异或,然后在重新加载数据时再次对它们进行异或。这会阻止那些认为打开记事本中的文件是“黑客”,当然任何对密码学有所了解的人都会很快弄清楚。
-
@JeremyFriesner 用什么异或字节?
-
感谢我在不同论坛上看到的评论,但我不知道该怎么做
-
@erickson:如果你对它们进行异或运算,你就有了一个很好的自我保护的变量密码。
-
@erickson:一些任意数字,而不是零。最好小于 32,这样所有可打印的字符都可以打印。
标签: c++ qt encryption text-files