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)的主要内容,如果未能解决你的问题,请参考以下文章