我正在开展一个小项目,需要你的帮助。以下是详细信息:
我正在寻找一个简单项目的加密库/ sdk / toolkit ,该库应该有以下要求
我对加密库真的很陌生,请提出你的建议,我会自己做背景研究。
另外,你能建议一个在EXE中隐藏我的密钥的好方法吗?这是一个单击并运行的应用程序,无需任何注册或安装。
答案 0 :(得分:7)
解密密钥将在您的程序中硬编码,或者从例如提供。许可证文件?
如果硬编码,不要费心寻找任何类型的花哨加密,你可以希望的是一个(非常薄!)混淆层 - 即使是简单的XOR加扰也不会比AES差。
你也可以选择一些非常简单的东西,例如TEA。或者您可以坚持使用简单的XOR加密并压缩您的可执行文件;单字节XOR加密的一个很好的特性是加密数据仍然是可压缩的:)(告诫emptor:exe压缩有时会在防病毒应用程序中触发误报)。
要记住的是“如果它运行,它可以被打破”,所以专注于转移随意窥探的眼睛而忘记防止“真正感兴趣的人” - 它需要很多努力和知识,做任何远程成功的事情。
对于“隐藏”解密密钥,您可以简单地存储二进制密钥(解密算法本身使用的内容)而不是文本表示 - 或者您可以使用一串乱码。无论如何,临时用户无论如何都无法使用密钥,而且您无法将其隐藏于确定的人之外:)
答案 1 :(得分:2)
我不知道它是否真的能满足您的所有要求,但请查看Botan。
答案 2 :(得分:2)
我使用过Crypto ++,虽然我认识到它的概念背后的天才......但我不喜欢使用它(或足够接近)需要天才的事实。有很好的例子,但最轻微的偏离他们的尝试变成了一个非常令人沮丧的时期。
我会推荐Google Keyczar:它专为 easy 加密而设计:
查看网站:Keyczar
小注意:由于API可能存在流解码的问题,我没有足够的经验来回答这个问题。
答案 3 :(得分:0)
这是一种“UnAnswer”:我知道只有一个免费的图书馆支持你需要的功能,这不是一件小事,也不简单。但无论如何,请看Crypto++。 我想其他人也会提到它。
答案 4 :(得分:0)
您可以使用Capicom ActiveX控件。它已经停产,但我认为这不会引起任何问题。它是微软CryptoAPI的包装。
它只是OS的一个包装器 功能,所以它很小 易于使用。
微软确实为它提供了一个redist, 所以你可以将它包含在内 你的节目。
它可以解密字符串。不确定 关于溪流。
这是来自MS,所以教程和 社区支持是给定的。
它支持多重加密 算法。注意一些 较新的算法不是 适用于旧版本 Windows,因为它使用CryptoAPI。
这并不完美,但如果你想要一些可以快速发展的东西,那就不是一个糟糕的选择。
答案 5 :(得分:0)
如果您只使用Windows,我建议使用Windows加密API http://msdn.microsoft.com/en-us/library/aa388162(v=VS.85).aspx