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网络安全论证技术与编程实现》一书。