openssl base64编码和解码

openssl base64编码和解码

ID:10272418

大小:148.88 KB

页数:12页

时间:2018-06-14

openssl base64编码和解码_第1页
openssl base64编码和解码_第2页
openssl base64编码和解码_第3页
openssl base64编码和解码_第4页
openssl base64编码和解码_第5页
资源描述:

《openssl base64编码和解码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、OpenSSLBase64编码和解码一、编码解码、函数介绍:编码函数:Ø         EVP_EncodeInit函数原型:voidEVP_EncodeInit(EVP_ENCODE_CTX*ctx);功能:该函数初始化一个用来进行base64编码的结构,事实上,该函数只是简单设置了结构里面几个常量的长度。参数:ctx:base64设备上下文。Ø         EVP_EncodeUpdate函数原型:voidEVP_EncodeUpdate(EVP_ENCODE_CTX*ctx,unsignedchar

2、*out,int*outl,unsignedchar*in,intinl);功能:该函数将参数in里面的inl自己数据拷贝到结构体ctx里面,如果结构体里面有数据,就同时将结构体里面的数据进行BASE64编码并输出到参数out指向的缓存里面,输出数据的长度保存在outl里面。注意,在第一次调用本函数的时候,虽然往结构体里面拷贝数据了,但是结构体ctx里面开始是没有输入数据存在并且输入数据长度不超出ctx内部存储数据的最长限制,就不会有任何数据被进行BASE64编码,也就是说,不会有任何数据输出;但是如果输入数据

3、长度比内部存储的数据长,那么就会输出部分经过BASE64编码的数据。数据输出总是在下一层输入前完成的。参数:ctx:base64设备上下文。out:存放编码后的数据缓冲区。outl:编码后的数据长度。in:编码前的数据。inl:编码前的数据长度。Ø         EVP_EncodeFinal函数原型:voidEVP_EncodeFinal(EVP_ENCODE_CTX*ctx,unsignedchar*out,int*outl);功能:该函数将结构体ctx里面剩余数据进行BASE64编码并写入到参数out里

4、面去,输出数据的长度保存在outl里面。参数:ctx:base64设备上下文。out:存放编码后的数据。outl:编码后的数据长度。Ø         EVP_EncodeBlock函数原型:intEVP_EncodeBlock(unsignedchar*t,constunsignedchar*f,intn);功能:该函数将参数f里面的字符串里面的n个字节的字符串进行BASE64编码并输出到参数t里面。返回数据的字节长度。事实上,在函数EVP_EncodeUpdate和EVP_EncodeFinal里面就调用了

5、该函数完成BASE64编码功能。参数:t:接收编码后的数据缓冲区。f:编码前的数据。n:编码前的数据长度。解码函数:Ø       EVP_DecodeInit函数原型:voidEVP_DecodeInit(EVP_ENCODE_CTX*ctx);功能:该函数初始化一个用来进行BASE64解码的数据结构。参数:ctx:base64设备上下文。Ø         EVP_DecodeUpdate函数原型:intEVP_DecodeUpdate(EVP_ENCODE_CTX*ctx,unsignedchar*out

6、,int*outl,unsignedchar*in,intinl);功能:该函数将参数in里面inl字节的数据拷贝到结构体ctx里面。如果结构体里面已经有数据,那么这些数据就会先进行BASE64解码,然后输出到参数out指向的内存中,输出的字节数保存在参数outl里面。输入数据为满行的数据时,返回为1;如果输入数据是最后一行数据的时候,返回0;返回-1则表明出错了。参数:ctx:base64设备上下文。out:存放解码后的数据缓冲区。outl:解码后的数据长度。in:解码前的数据。inl:解码前的数据长度。Ø 

7、        EVP_DecodeFinal函数原型:intEVP_DecodeFinal(EVP_ENCODE_CTX*ctx,unsignedchar*out,int*outl);功能:该函数将结构体ctx里面剩余的数据进行BASE64解码并输出到参数out指向的内存中,输出数据长度为outl字节。成功返回1,否则返回-1。参数:ctx:base64设备上下文。out:解码后的数据。outl:解码后的数据长度。Ø         EVP_DecodeBlock函数原型:intEVP_DecodeBlock

8、(unsignedchar*t,constunsignedchar*f,intn);功能:该函数将字符串f中的n字节数据进行BASE64解码,并输出到t指向的内存中,输出数据长度为outl。成功返回解码的数据长度,返回返回-1。参数:t:接收解码后的数据缓冲区。f:解码前的数据。n:解码前的数据长度。一、数据结构:这些函数声明对应声明在头文件/usr/include/openssl/e

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。