openssl可以直接使用命令对文件件进行base64的编码与解码,利用openssl提供的API同样可以做到这一点。

废话不多说,直接上代码了。需要注意的是通过base64编码后的字符每64个字节都会有一个换行符的存在。

 1 static int base64_encode(char *str,int str_len,char *encode,int encode_len){ 2     BIO *bmem,*b64; 3     BUF_MEM *bptr; 4     b64=BIO_new(BIO_f_base64()); 5     bmem=BIO_new(BIO_s_mem()); 6     b64=BIO_push(b64,bmem); 7     BIO_write(b64,str,str_len); //encode 8     BIO_flush(b64); 9     BIO_get_mem_ptr(b64,&bptr);10     if(bptr->length>encode_len){11         DPRINTF("encode_len too small\n");12         return -1; 13     }   14     encode_len=bptr->length;15     memcpy(encode,bptr->data,bptr->length);16 //  write(1,encode,bptr->length);17     BIO_free_all(b64);18     return encode_len;19 }20 21 static int base64_decode(char *str,int str_len,char *decode,int decode_buffer_len){22     int len=0;23     BIO *b64,*bmem;24     b64=BIO_new(BIO_f_base64());25     bmem=BIO_new_mem_buf(str,str_len);26     bmem=BIO_push(b64,bmem);27     len=BIO_read(bmem,decode,str_len);28     decode[len]=0;29     BIO_free_all(bmem);30     return 0;31 }

转载于:https://www.cnblogs.com/aLittleBitCool/archive/2011/10/06/2200095.html

利用openssl进行base64的编码与解码相关推荐

  1. php base64解码,PHP Base64 中英文编码 JavaScript 解码

    最新PHP Base64 中英文编码 JavaScript 解码 以下是三零网为大家整理的最新PHP Base64 中英文编码 JavaScript 解码的文章,希望大家能够喜欢! function ...

  2. javascript中的Base64.UTF8编码与解码详解

    javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...

  3. 彻底弄懂base64的编码与解码原理

    作者介绍 背景 base64的编码原理网上讲解较多,但解码原理讲解较少,并且没有对其中的内部实现原理进行剖析.想要彻底了解base64的编码与解码原理,请耐心看完此文,你一定会有所收获. 涉及算法与逻 ...

  4. img图片的预览和下载(iframe基本使用),图片转file格式,file文件转base64格式,base64的编码和解码

    目录 一.根据后端接口返回的URL下载和预览图片 1.调用下载图片函数实现下载图片 2.弹出另一个页面,实现预览图片. 3.不弹出另一个页面,实现下载/预览图片(iframe方式) 4.动态创建ifr ...

  5. openssl算法 —— 利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密

    openssl 加密字符串的方法: 一.利用openssl命令进行BASE64编码解码(base64 encode/decode): 1. BASE64编码命令 对字符串'abc'进行base64编码 ...

  6. atob()和btoa() 进行base64的编码和解码

    编码: 解码:

  7. btoa java_javascript atob()函数和 btoa()函数-Base64的编码与解码-Go语言中文社区

    在 JavaScript 中,有两个函数被分别用来处理解码和编码 base64 字符串: atob() //ASCII to Base64 btoa() //Base64 to ASCII atob( ...

  8. javascript atob()函数和 btoa()函数-Base64的编码与解码

    在 JavaScript 中,有两个函数被分别用来处理解码和编码 base64 字符串: atob() //ASCII to Base64 btoa() //Base64 to ASCII atob( ...

  9. js中使用btoa和atob进行Base64的编码和解码

    window.atob(string):解码 用来解码一个已经被base-64编码过的字符串.(参数string: 必需是一个通过 btoa() 方法编码的字符串) window.btoa(strin ...

  10. Base64的编码和解码

    为什么要使用Base64? 在设计这个编码的时候,我想设计人员最主要考虑了3个问题: 1.是否加密? 2.加密算法复杂程度和效率 3.如何处理传输? 加密是肯定的,但是加密的目的不是让用户发送非常安全 ...

最新文章

  1. GO Negotiation流程分析
  2. 通过a标签在页面上显示视频网站中的视频
  3. CS229 6.6 Neurons Networks PCA主成分分析
  4. Ubuntu之镜像iso安装系统
  5. php 文件上传页面模板,PHP文件上传类实例详解
  6. 十六、数据变换和数据离散化
  7. 设计模式之空对象模式
  8. PHP | 计算字符串中的单词总数
  9. CSV Data Set Config设置
  10. php计算一段时间工作日,PHP计算8小时工作日的一半
  11. Windows Server 2016 AD中新建组织单位、组、用户
  12. Android精讲--界面编程2(布局管理器)
  13. 第 4 章 部署 Enterprise Library
  14. Handler 消息传递机制
  15. ORACLE 登录相关的信息
  16. android studio | openGL es 3.0增强现实(AR)开发 (4) 绘制简单的2D图形、显示、旋转
  17. 几种分段多项式曲线插值(拟合)的方式(含贝塞尔曲线和B样条[B-spline])
  18. 苹果测试应用可一键生成ios测试UDID证书,IOS怎么安装APP?怎么测试APP?一键搞定
  19. Win7快速启动栏恢复方法
  20. 破解光纤入户,电信送的上海贝尔RG2000-CA,过程说明·~~

热门文章

  1. Hive 数据质量检测
  2. kafka/producer.lua:168: attempt to perform arithme
  3. 关于在Windows64上编译程序出现相邻变量地址偏移相差32字节问题
  4. QT_继承ApplicationWindow控件的C++与QML交互
  5. JEPLUS之特殊字段类型的使用——JEPLUS软件快速开发平台
  6. Ionic 学习笔记
  7. NSURLSession访问HTTPS网站
  8. [Java] Maven 建立 Spring MVC 工程
  9. row_number() over
  10. IOS开发--仿制网易新闻