什么是Base64 编码,Base64 编码有哪些优缺点?_base64编码的优点-程序员宅基地

技术标签: Base64 编码  Base64 解码  

很多朋友在工作中,可能经常会用到Base64编码。Base64编码是网络上很常见的用于8Bit字节码的编码方式之一,那么,大家知道为什么要使用Base64 编码,Base64 编码有哪些优缺点呢?下面,我们一起来研究一下。

什么是Base64 编码

Base64是一种用64个字符来表示任意二进制数据的方法。它是一种编码方式,而非加密方式。它通过将二进制数据转变为64个“可打印字符”,完成了数据在HTTP协议上的传输。Base64是从二进制数据到字符的过程。所以计算机中所有的内容,包括文本、图片、音频、视频等等都可以使用Base64编码来表示。

 

为什么要使用Base64 编码

1、电子邮件协议smtp只能传输ASCII码可打印字符(注:[0,31],及127, 33个属于不可打印的控制字符),所以可以使用base64编码解决;

2、在传输数据中进行简单加密,不会一眼看出明文;

3、http协议中,可对图片的资源进行base64处理,使接口格式统一。

Base64 编码有哪些优缺点

优点:减少一个图片的http请求。

缺点:

1、根据Base64的编码原理,编码后的大小会比原文件大小大1/3,如果把大图片编码到html/css中,不仅会造成文件体积增加,影响文件的加载速度,还会增加浏览器对html或css文件解析渲染的时间。

2、使用Base64无法直接缓存,要缓存只能缓存包含base64的文件,比如HTML或者CSS,这相比于直接缓存图片的效果要差很多。

3、兼容性的问题,ie8以前的浏览器不支持;一般一些网站的小图标可以使用base64图片来引入。

Base64 是加密算法吗?

Base64 主要不是用来加密的,它主要的用途是把一些二进制数转成普通字符用于网络传输,这是因为一些二进制字符在传输协议中属于控制字符,不能直接在网络上传输。另外,还有一些系统中只能使用ASCII字符。

Base64 编码就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。Base64 并不是安全领域下的加密解密算法,虽然有时候也会经常看到所谓的Base64加密解密算法。

附上一个Base64编码和Base64解码的网站:https://www.md5.cn/

其实Base64只能算是一个编码算法,对数据内容进行编码来适合网络传输。虽然Base64编码过后原文也变成无法直接理解的字符格式,但是这种编码方式比较初级,很简单,很容易就可以被还原成原文,所以如果有比较重要的信息需要加密,一定要使用我们之前文章中介绍的那些加密算法进行数据的安全保护。

以上介绍了什么是Base64 编码,为什么要使用Base64 编码以及Base64 编码的优缺点。在工作中我们经常会用到Base64,对Base64要充分地理解,不要把它当做加解密用到业务系统关键位置,避免引发严重后果。相信大家看了以上的内容,对Base64 编码有了基本的了解。

相关文章:

什么是DES算法,详解DES算法的基本原理_哈客部落的博客-程序员宅基地_des算法的核心DES算法是应用最为广泛的对称加密算法。它主要应用在计算机网络通信、电子资金传送系统、保护用户文件,此外,DES还可用于计算机用户识别系统中。那么,具体什么是DES算法,DES算法的基本原理是什么,本文将给大家详细介绍一下。https://blog.csdn.net/m0_69916115/article/details/127412563一文读懂md5,md5有什么用,什么是md5加盐_哈客部落的博客-程序员宅基地md5是一种密码散列函数,在计算机安全领域得到广泛的应用。本文将带大家了解一些md5的知识点,什么是md5,md5有什么用,什么是md5加盐,为什么md5不可逆,为什么md5可能会被解密?帮助大家快速了解md5,感兴趣的朋友继续往下看吧。https://blog.csdn.net/m0_69916115/article/details/127249454

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_69916115/article/details/127537149

智能推荐

Python连载57- 邮件头和主题、解析邮件_python 邮件头-程序员宅基地

文章浏览阅读2.2k次。一、添加邮件头,抄送等信息1.mail[“From”]表示发送者信息,包括姓名和邮件2.mail[“To”]表示接收者信息,包括姓名和邮件地址3.mail[“Subject”]表示摘要或者主题信息from email.mime.text import MIMETextfrom email.header import Headermsg = MIMEText("Hello world"..._python 邮件头

android AMS原理解析_android9.0 ams返回逻辑-程序员宅基地

文章浏览阅读710次。startactivityapp启动过程启动下半场,AMS返回后部分结构继承关系_android9.0 ams返回逻辑

如何用码云创建一个vue项目_码云初始化仓库,创建vue项目-程序员宅基地

文章浏览阅读915次。码云是一个基于Git的代码托管平台,相比github,它可以免费创建私有项目,而且链接码云比github网速更快,很适合中国的程序员使用。它的的操作界面是中文的,创建一个项目非常简单。安装node,打开官网,选择对应系统下载安装即可,安装完成后打开终端,输入node -v按回车,底下出现相应版本号就代表安装成功。myPro:Desktop vincy$ node -vv10.16.3..._码云初始化仓库,创建vue项目

4. 操作系统安全_操作系统安全最重要的是什么 知乎-程序员宅基地

文章浏览阅读7.8k次,点赞13次,收藏92次。操作系统安全_操作系统安全最重要的是什么 知乎

vue2 封装get post请求 加密参数_vue2 参数加密-程序员宅基地

文章浏览阅读1.5k次。import axios from 'axios'import { getStore, removeStroe } from '@/utils/storage'import { TOKEN_NAME } from '@/config/base'import app from '@/main'import store from "../store/index"import Qs from 'qs'import Route from '@/router/index'// 加密解密import ._vue2 参数加密

4G与2G模块区别之信号质量检测_4g模块 2g信号-程序员宅基地

文章浏览阅读6.6k次。以中兴m3860为例,在信号质量读取上面,模块的回应值,有着不一样的定义。简单的说,2G模块的有效信号范围为 0- 31,99,;但是,4G模块的信号范围为100-199。因此,在更换为4G模块的同时,要注意类似的种种细节。_4g模块 2g信号

随便推点

php对接awssessmtp,如何在PHP Laravel 5中配置Amazon SES SMTP?-程序员宅基地

文章浏览阅读526次。我已经在PHP Laravel5项目中集成了亚马逊SES,但我很难发送电子邮件,因为我收到此错误,Swift_TransportException in AbstractSmtpTransport.php line 383:Expected response code 250 but got code "530", with message "530 Authentication required..._laravel aws ses

ASN.1语法及其公钥的理解_sm3 公钥 asn.1-程序员宅基地

文章浏览阅读5.2k次,点赞5次,收藏11次。ASN.1语法及其公钥的理解1 概述前段时间对非对称加密,学习了部分内容,但是于密钥的存储部分,一直有个难以理解部分,就是在IE等浏览器中导出的证书,应该如何去理解。其中http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.htmlhttp://www.ruanyifeng.com/blog/2013/07/rs_sm3 公钥 asn.1

KMP算法Java实现-程序员宅基地

文章浏览阅读209次。KMP算法JAVA实现_kmp算法java实现

$ lsnrctl start 错误的解决-程序员宅基地

文章浏览阅读2.4k次。//本文转自http://www.blogjava.net/wxqxs/archive/2009/05/28/278157.html $ lsnrctl start 错误的解决 在刚安装完Oracle之后就发现监听器起不起来,每次 $lsnrctl st

@RequestMapping 用法详解-程序员宅基地

文章浏览阅读735次。简介:@RequestMappingRequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。RequestMapping注解有六个属性,下面我们把她分成三类进行说明。1、 value, method;value: 指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);method: 指定请求的method类型, GET、POST、PUT、DELETE等;..._@requestmapping

吾爱破解 - https://www.52pojie.cn-程序员宅基地

文章浏览阅读3.4w次。吾爱破解 - https://www.52pojie.cnmartian6125_52pojie.cn

推荐文章

热门文章

相关标签