在CLion中配置OpenSSL开发环境

1.环境

平台:Windows10

开发工具:CLion

OpenSSL:OpenSSL 1.1.1m(32位)

工具链:MingGW530_32

Win32OpenSSL-1_1_1m.msi-网络安全文档类资源-CSDN文库

Windows版本的OpenSSL下载地址Win32/Win64 OpenSSL Installer for Windows - Shining Light Productionsicon-default.png?t=M7J4http://slproweb.com/products/Win32OpenSSL.html

2.SM3摘要Demo

2.1 使用CLion,新建一个C项目。

  1. 选择新建项目的类型,可以是C执行程序,也可以是C++执行程序。我们选择C执行程序;
  2. 选择项目存放的路径。我们命名项目名称为05_OpenSSL;
  3. 选择语言标准,使用默认的C99标准;
  4. 点击右下角Create俺就,创建项目。

项目中有两个重要文件:main.cCMakeLists.txt

main.c :源文件

CMakeLists.txt:CMake的配置文件,用于对软件编译过程进行控制。

 2.1运行程序

点击CLion右侧的三角Run按钮,在CLion下方输出程序运行结果。打印出Hello,World!

3. 默认的CMakeList.txt

新建项目中的CMakeLists.txt如下图:

# 指定CMake最低版本要求
cmake_minimum_required(VERSION 3.17)

#设置项目名称
project(05_OpenSSL C)

#环境变量 CMAKE_C_STANDARD 为99 ,使用C99标准
set(CMAKE_C_STANDARD 99)

#生成的执行文件05_OpenSSL ,main.c为生成可执行文件需要的源代码
add_executable(05_OpenSSL main.c)

4. Demo程序:使用OpenSSL的SM3计算摘要

4.1 修改CMakeLists.txt

增加OpenSSL头文件和库,链接库:

cmake_minimum_required(VERSION 3.17)
project(05_OpenSSL C)

set(CMAKE_C_STANDARD 99)


#定义两个变量,表示头文件路径和库路径
set(INC_DIR D:\\ProgramFiles\\OpenSSL-Win32\\include)
set(LINK_DIR D:\\ProgramFiles\\OpenSSL-Win32\\lib)

#依次设置头文件目录、库目录、要链接的库 (在add_executable 之前)
include_directories(${INC_DIR})
link_directories(${LINK_DIR})
link_libraries(openssl libcrypto)


add_executable(05_OpenSSL main.c)

#链接库 在add_executable之后 03_OpenSSL为工程名 ssl为库名称
target_link_libraries(05_OpenSSL openssl)

其中Windows中OpenSSL安装的路径为:D:\\ProgramFiles\\OpenSSL-Win32\\ 

4.2 编码main.c

使用SM3计算摘要:

main.c

#include <stdio.h>
#include <string.h>
#include "openssl/evp.h"

int main() {
    printf("Hello, OpenSSL!\n");

    /* 加载所有算法 */
    OpenSSL_add_all_algorithms();

    /* SM3摘要算法 */
    unsigned char md_value[EVP_MAX_MD_SIZE];        //保存输出的摘要值的数组
    unsigned int md_len;
    EVP_MD_CTX *pmdctx = EVP_MD_CTX_new();          //EVP消息结构体
    char msg1[] = "Test Message1";                  //待计算摘要的消息1
    char msg2[] = "Test Message2";                  //待计算只要的消息2
    int i=0;


    EVP_MD_CTX_init(pmdctx);                        //初始化摘要结构体

    //设置摘要算法和密码算法引擎,这里密码算法使用SM3
    //算法引擎使用OpenSSL默认引擎,即软算法
    EVP_DigestInit_ex(pmdctx,EVP_sm3(),NULL);
    EVP_DigestUpdate(pmdctx,msg1,strlen(msg1));     //调用摘要Update计算msg1的摘要
    EVP_DigestUpdate(pmdctx,msg2,strlen(msg2));     //调用摘要Update计算msg2的摘要
    EVP_DigestFinal_ex(pmdctx,md_value,&md_len);    //摘要结束,输出摘要值
    
    
    /* 打印结果 */
    printf("原始数据%s和%s的摘要为:\n",msg1,msg2);
    for(i=0;i<md_len;i++)
    {
        printf("%02X ",md_value[i]);
    }
    printf("\n");

    return 0;
}

4.3 运行,输出如下结果:

对于CLion安装xInt插件,首先需要确保已经安装了Go编程语言。可以通过brew安装(brew install go),或者在The Go Programming Language官网上下载安装。如果是MacOS系统,可以通过下载go1.20.4.darwin-amd64.pkg进行安装。 安装完成后,需要配置环境变量。可以通过编辑.bash_profile文件,在文件中新增以下内容: export GOROOT=/usr/local/go # go程序所在目录 export GOPATH=/Users/yourname/go # go代码目录 export GOBIN=$GOPATH/bin # go生成的二进制文件的目录 保存并关闭文件后,记得运行source ~/.bash_profile命令使配置立即生效。 这样就完成了Go和CLion的准备工作。接下来,你可以在CLion中安装xInt插件,具体步骤如下: 1. 打开CLion,点击"File"菜单,选择"Settings"。 2. 在Settings窗口中,点击"Plugins"选项,然后点击"Browse repositories"按钮。 3. 在搜索框中输入"xInt",找到xInt插件并点击"Install"按钮进行安装。 4. 安装完成后,重新启动CLion。 现在,你就可以在CLion中使用xInt插件了。可以按照插件的文档或教程来使用它提供的功能。 引用: : https://golang.org/dl/ : https://dl.google.com/go/go1.20.4.darwin-amd64.pkg : 配置环境变量命令请根据自己的系统和目录进行相应修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Go语言的安装和包依赖管理](https://blog.csdn.net/rxbook/article/details/130539700)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值