openssl linux编译和dlopen使用

本文介绍了如何在Linux环境下编译OpenSSL,并详细讲述了如何使用dlopen进行HMAC加密操作,以避免与系统库产生冲突。
摘要由CSDN通过智能技术生成

openssl linux下编译

openssl最新分支
git checkout OpenSSL_1_1_1两下tab健,确定最新版本为OpenSSL_1_1_1q

git clone https://github.com/openssl/openssl.git
git checkout OpenSSL_1_1_1q
输出到当前目录下的output目录
./config --prefix=`pwd`/output
make -j 6
make install

当前目录下的output目录就是最终生成的文件,复制output/include和output/lib/libssl.so,output/lib/libcrypto.so 到本地代码目录

openssl hmac加密,使用dlopen防止和系统的so干扰

#include <stdio.h>
#include <string.h>
#include <dlfcn.h>
#include <openssl/hmac.h>
#include <openssl/opensslv.h>
#include <openssl/crypto.h> // unsigned long SSLeay(void)
 
int main(int argc,void **argv) {
   
    //key value
    const char key[] = "key-abcd";
    //data in hex, /or you can init with text
    unsigned char data[] = "12345";
    unsigned char result[20] = {
   0};
    unsigned int resultlen = 20;

    void *handleCrypto = dlopen("./libcrypto.so", RTLD_LAZY | RTLD_DEEPBIND);    
    if(handleCrypto == NULL)
    {
   
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值