我正在尝试使用套接字实现安全的网络/客户端通信。我很难找到有关如何执行此操作的信息。似乎唯一存在的就是 OpenSSL,但该库似乎使用起来非常复杂。
是否有更容易使用且安全的库?如果不是,那么什么是开始安全编程的好文档。
我正在尝试使用套接字实现安全的网络/客户端通信。我很难找到有关如何执行此操作的信息。似乎唯一存在的就是 OpenSSL,但该库似乎使用起来非常复杂。
是否有更容易使用且安全的库?如果不是,那么什么是开始安全编程的好文档。
对于加密,存在多个库。如果您没有说 OpenSSL 很复杂,那么我强烈建议您使用 OpenSSL。但是现在,在您的情况下,我建议您尝试
CryptoPP
,它的 API 风格和编程范式需要一点时间来适应但你最终会喜欢它。它提供了广泛的对称和非对称算法,具有很大的灵活性。您可以找到高级概述和示例代码。它是一个易于集成到项目中的库。它可以跨多个平台移植。
LibTomCrypt
TomCrypt 是轻量级和简单的。至于质量,TomCrypt 被广泛接受为顶级加密。此外,它的许可证是公共领域的,这避免了 BSD 许可证在编写商业软件时给您带来的文档归属麻烦。
Crypto++
也是一个非常有名的库
看看这些库以及
谷歌的 KeyCZar、botan和Capicom。
我希望这个答案会对你有所帮助:)
Boost.Asio抽象了一些 OpenSSL 底层函数:examples
请记住,您必须小心,并且很容易认为您拥有一个安全的系统,而实际上您并没有。仅使用 OpenSSL 并不能保证安全性。它需要正确使用。