OpenSSL 常用函数——Base64编码及解码

时间:2022-06-01 16:34:04
 

Base64编码就是把二进制数据转换为可见的ASCII字符。 Base64解码是相反的过程。

主要函数

1、  Base64编码初始化函数

Void EVP_EncodeInit(EVP_ENCODE_CTX *ctx);

参数ctx[IN]用于保存Base64编码的的状态。

2、  Base64编码Update函数。

Void EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *out1, const unsigned char *in, int in1);

功能:进行Base64数据编码, 对于大数据可以重复调用。

3、  Base64编码结束函数

Void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *out1);

函数功能:编码结束,输出最后剩余的编码数据。

4、  Base64编码函数

Void EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n);

功能:进行Base64数据编码, 适用于小量数据。

参数:t[OUT]编码后的数据。F[IN]待编码的数据。N[IN]待编码数据的长度

返回值:编码后的数据长度。

5、  Base64解码初始化函数

Void EVP_DecodeInit(EVP_ENCODE_CTX *ctx);

参数ctx[IN]用于保存Base64解码的的状态。

6、  Base64解码Update函数。

Void EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *out1, const unsigned char *in, int in1);

功能:进行Base64数据解码, 对于大数据可以重复调用。

7、  Base64解码结束函数

Void EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *out1);

函数功能:解码结束,输出最后剩余的解码数据。

8、  Base64解码函数

Void EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n);

功能:进行Base64数据解码, 适用于小量数据。

参数:t[OUT]解码后的数据。F[IN]待解码的数据。N[IN]待解码数据的长度

返回值:解码后的数据长度。

 

注:上面资源大多源自《精通PKI网络安全论证技术与编程实现》一书。