std::string base64_encode(const std::string& input) { BIO *bio, *b64; BUF_MEM *bufferPtr; bio = BIO_new(BIO_s_mem()); b64 = BIO_new(BIO_f_base64()); bio = BIO_push(b64, bio); BIO_set_flags(bio, BIO_FLAGS_BASE64_NO_NL); BIO_write(bio, input.c_str(), input.size()); BIO_flush(bio); BIO_get_mem_ptr(bio, &bufferPtr); std::string output(bufferPtr->data, bufferPtr->length); BIO_free_all(bio); return output; } 会报错
时间: 2024-03-21 18:42:27 浏览: 135
base64_encode和base64_decode的JAVA实现
在使用该函数时,需要包含以下头文件:
```c++
#include <openssl/bio.h>
#include <openssl/evp.h>
#include <openssl/buffer.h>
```
同时需要链接以下库:
```c++
-lcrypto
```
如果你已经包含了这些头文件并链接了相应的库,仍然报错,请提供具体的报错信息,我会帮你解决问题。
阅读全文