OpenSSL EVP AES / DES加密实施

时间:2012-01-19 05:01:47

标签: c encryption openssl

我正在尝试在小型应用中实现一些基本的AES / DES加密/解密。主要是存储敏感的用户信息。

我已经在C中看到很多实现的例子,这是我想要的,因为它以后很容易在Objective-C中使用,但我无法真正使它们工作。大多数示例都是在5到10年前发布的,并且有很多已弃用和未使用过的东西,我不能简单地让它们工作。其他只是最终出现分段错误和其他错误。

最近我一直在读一本名为“OpenSSL网络安全”的书。它有很多有趣的内容,但我无法编译大多数示例。

我已经能够在PHP和命令行界面上使用OpenSSL加密/解密内容,但是没有运气C.

有人可以从今天(不是10年前)给我工作的例子吗?我应该如何在C中使用它?

2 个答案:

答案 0 :(得分:2)

来自同一个人: https://opensource.conformal.com/viewgit/?a=viewblob&p=cyphertite&h=899259f8ba145c11087088ec83153db524031800&hb=6782c6839d847fbed0aed8c55917e78b5684110f&f=cyphertite/ct_crypto.c

查看ct_crypto_ *函数。他们使用AES-XTS,这比DES更好(不要使用DES !!)

代码编译并像冠军一样工作。代码中有一些例子,但它们可能有点令人兴奋,但一切都是正确的。

答案 1 :(得分:1)

我所知道的最简单和可用的最好的例子是AgglomeratedSSL,它是一个OpenSSL包装器:https://opensource.conformal.com/wiki/Agglomerated_SSL。附带一些使用包装器API的示例客户端和服务器,代码本身就是使用OpenSSL进行基本任务的一个示例。

PS:有关OpenSSL文档状态的幽默信息,请参阅http://www.peereboom.us/assl/assl/html/openssl.html