openssl安装与使用(MacOS)

Posted Zetaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openssl安装与使用(MacOS)相关的知识,希望对你有一定的参考价值。

前言:仅个人小记。

// MacOS 系统安装
brew install openssl@1.1 # brew的默认安装路径为 /opt/homebrew/opt/
export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib" # openssl库文件目录
export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include" # openssl头文件目录
//编译使用
g++ test.cpp -L/opt/homebrew/opt/openssl@1.1/lib -I/opt/homebrew/opt/openssl@1.1/include -std=c++11 -lcrypto

# -I参数是用来指定头文件所在目录。
# /usr/include目录一般是不用指定的,gcc知道去那里找,但是如果头文件不在/usr/include里我们就要用-I参数指定了
# -L参数跟着的是库文件所在的目录;
# -l(小写的L)参数就是用来指定程序要链接的库,-l参数紧接着就是库名;
# ldd用来打印或者查看程序运行所需的共享库
//test.cpp 代码样例
#include <openssl/ec.h>
#include <openssl/bn.h>
#include <openssl/obj_mac.h>
#include <openssl/sha.h>

void printBigNumber(const BIGNUM * a)

    char * str = BN_bn2dec(a);
    printf("%s",str);

    return;


void Sha256(const std::string input, uint8_t output[32]) 
    SHA256_CTX sha256;
    SHA256_Init(&sha256);
    SHA256_Update(&sha256, input.c_str(), input.size());
    SHA256_Final(output, &sha256);
;

int main()

    BIGNUM * p = BN_new();
    BN_dec2bn(&p,"13"); // 十进制串转 BIGNUM
    BN_CTX * ctx = BN_CTX_new();// ctx环境
    /*
     * BN_rand_range // 指定范围中选随机元素
     * BN_lshift 按比特左移
     * BN_mod_mul 模乘
     * BN_mod_exp 模幂 
	 */
    BN_CTX_free(ctx);
    BN_free(a);

以上是关于openssl安装与使用(MacOS)的主要内容,如果未能解决你的问题,请参考以下文章

macOS/Linux 环境变量设置

macOS/Linux 环境变量设置

Multipass中文文档-使用指引-在macOS上安装Multipass

使用 NPM 在 MacOS 和 Arch Linux 中全局安装 Ngrok 的问题

markdown 使用nvm为Linux和macOS安装Node.js.

教你三步在MacOS上安装Linux系统