openssl实践

最近工作中用到特定的加解密技术,所以想了解下通用加解密技术。


引用:

http://blog.csdn.net/shuanyancao/article/details/8985963

http://blog.gpjtag.com/?p=18


一、aes篇:

网上找了份代码,makfile中 -lssl,报错如下

aes.c:(.text.startup+0x24d):对‘RAND_pseudo_bytes’未定义的引用
aes.c:(.text.startup+0x25f):对‘RAND_pseudo_bytes’未定义的引用
aes.c:(.text.startup+0x362):对‘AES_set_encrypt_key’未定义的引用
aes.c:(.text.startup+0x388):对‘AES_cbc_encrypt’未定义的引用
aes.c:(.text.startup+0x468):对‘AES_set_decrypt_key’未定义的引用
aes.c:(.text.startup+0x486):对‘AES_cbc_encrypt’未定义的引用

nm -D libssl.so,显示库中没有定义,就觉得奇怪。网上都是链接 的ssl的库,我的ssl库为啥 没有这些函数的定义??

开始以为安装的libssl.so有问题。换源apt-get install 了几次还是这样。

最后没办法,下了份openssl的源码,自己编译库, nm 发现libssl.a中也没有如上函数的 定义,只有引用 。突然发现libcryto.a中有这些函数。原来还需要链接libcrypto库!!!网上的帖子基本都没有说明,都说链接ssl。。。。。。

makefile中   -lssl -lcrypto  -ldl ,编译通过。

==================================================================================

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值