最近我写了一个QT程序,要求我加密/解密文件。我对加密技术很陌生,因为我完全不知道如何使用编程进行加密。谷歌搜索一段时间后,我发现这个thread这是非常类似于我的目标。 他们建议使用加密++,但我的问题是当我到达那里时,有大量的加密选择。我只想加密一个文件,不需要一个复杂的文件,也不需要密码来打开文件。只有我的程序可以打开并阅读该文件。如何选择加密算法来加密/解密文件?
我可以知道如何选择适合我的加密算法吗?
THanks @!
最近我写了一个QT程序,要求我加密/解密文件。我对加密技术很陌生,因为我完全不知道如何使用编程进行加密。谷歌搜索一段时间后,我发现这个thread这是非常类似于我的目标。 他们建议使用加密++,但我的问题是当我到达那里时,有大量的加密选择。我只想加密一个文件,不需要一个复杂的文件,也不需要密码来打开文件。只有我的程序可以打开并阅读该文件。如何选择加密算法来加密/解密文件?
我可以知道如何选择适合我的加密算法吗?
THanks @!
考虑到你对我对这个问题的评论的回复中的目的的解释,似乎除了XML的低级混淆之外没什么意义。例如,您可以简单地用任意值(例如AA十六进制)对文件内容进行XOR或在连续字符(AA,23,B7,...)上使用少量值,然后循环使用AA再次。听起来不像使用真正的加密库有很多好处:任何决心搞砸他们的软件操作的人都会找到一种方法......
也许很短的(很短)介绍到密码算法将是有益的:
对于这个应用程序,我会建议一个对称算法,AES可能会很适合(AES256)。不管你使用什么,总会有一个密钥(否则它不会是很好的加密)。简单的方法是直接在程序中存储密码。这将允许用户避免输入任何内容,但是即使在编译后的二进制文件中,确定的攻击者也可以轻松地找到密码。
除非您提供进一步的详细信息,否则这只是我可以获得的具体信息。我希望这有帮助。
最简单的“真正的”对称算法可能是河豚,有sample code in 'c' and'c++'这是很容易集成到你的代码
有一个独立的QCrypto LIB(不是主要的Qt SRC的一部分),但它可能是一个小比你需要的更复杂
不,有人问我“应该使用什么密码”永远不要告诉“去执行密码”。他们应该被告知使用高质量图书馆的标准算法。 – Novelocrat
该链接准备使用算法作者(Bruce schneier)和其他人的标准算法代码 –
RC4比Blowfish编程简单得多。 – rossum
您提供的信息不足。你从哪个人试图隐藏文件内容? (即其他可以看到文件但不能看到应用程序可执行文件的用户,可以看到但不能运行应用程序的人,可以运行应用程序的人)。他们看不见它有多重要?你是否试图让它变得足够硬,不值得他们的时间,或者几乎不可能?他们将如何确定和掌握IT?它是什么类型的文件内容(例如数字,文本,可执行代码)? –
传统的ROT13加密算法如何?它也可以在没有密码的情况下运行... ;-) –
选择解密算法很容易;它必须是加密算法的逆向。 –