美文网首页
什么是Base64算法

什么是Base64算法

作者: xbcoding | 来源:发表于2019-05-29 12:01 被阅读0次

1、为什么要做Base64编码呢
(1)在计算机中任何数据都是按ASCII码存储的,而ASCII码的128~255之间的值是不可见字符。而在网络上交换数据时,比如说从A地传到B地,往往要经过多个路由设备,由于不同的设备对字符的处理方式有一些不同,这样那些不可见字符就有可能被处理错误,这是不利于传输的。所以就先把数据先做一个Base64编码,统统变成可见字符,这样出错的可能性就大降低了。
(2)Base64 不是加密算法,它主要的用途是把一些二进制数转成普通字符用于网络传输。由于一些二进制字符在传输协议中属于控制字符,不能直接传送,需要转换一下。【ASCII码的范围是0-127,其中0-31和127这33个字符属于控制字符。剩下32-126这95个字符属于可打印字符,包含数字、大小写字母、常用符号。】

2、Base64到底是怎样编码的呢?
简单来说,任何一个数据无非可以看作一个比特流,如01000100010011101100111010111100011001010......那么取6个比特为一组,计算它的ASCII码值,得到一个字符,这个字符肯定是可见字符,然后把它对应的字符写出来,再取6个比特,计算...,如此下去,直到最后,就完成了编码。

3、Base64的字符表
(1)标准base64只有64个字符(英文大小写、数字和+、/)以及用作后缀等号;
(2)base64是把3个字节变成4个可打印字符,所以base64编码后的字符串一定能被4整除(不算用作后缀的等号);
(3)等号一定用作后缀,且数目一定是0个、1个或2个。这是因为如果原文长度不能被3整除,base64要在后面添加\0凑齐3n位。为了正确还原,添加了几个\0就加上几个等号。显然添加等号的数目只能是0、1或2;
(4)严格来说base64不能算是一种加密,只能说是编码转换。使用base64的初衷。是为了方便把含有不可见字符串的信息用可见字符串表示出来,以便复制粘贴;


image.png

参考文章:https://blog.csdn.net/ios_xumin/article/details/79609029

相关文章

  • iOS加密

    什么是加密? 加密 = 算法 + 钥匙 base64只是编码,不能归类于加密,base64编码原理 算法是固定且公...

  • Android-加密机制详解

    编解码 Base64编码算法 Base64编码算法是一种用64个字符(ABCDEFGHIJKLMNOPQRSTUV...

  • Base64算法理解

    Base64是加密算法吗? 因为Base64算法是可逆的,所以不能算是加密算法,而算是一种编码方式。是一种使用64...

  • 什么是Base64算法

    1、为什么要做Base64编码呢(1)在计算机中任何数据都是按ASCII码存储的,而ASCII码的128~255之...

  • BASE64、MD5、SHA、HMAC几种加密算法(转)

    本篇内容简要介绍BASE64、MD5、SHA、HMAC几种加密算法。 BASE64编码算法不算是真正的加密算法。 ...

  • JAVA加密系列(一)-Base64与单向加密算法MD5、SHA

    JAVA加密系列(一)-Base64与单向加密算法MD5、SHA、HMAC Base64 Base64是网络上最常...

  • 几个常用算法

    Base64 HASH算法 非对称加密算法 Mac openssl

  • 加密之对称Base64,DES,PBE

    1 Base64算法 BASE64 严格地说,属于编码格式,而非加密算法 MD5、SHA、HMAC这三种加密算法,...

  • 常见的加解密算法

    开门见山,先说主题,这篇文章讲的是java中的加密解密一些常用的算法。首先介绍base64算法,base64算法的...

  • C/C++学习笔记:base64的编码解码

    什么是Base64? base64是一种编码算法,允许将任何的字符转化为如英文字母,数字,加号和斜号组成的字符。你...

网友评论

      本文标题:什么是Base64算法

      本文链接:https://www.haomeiwen.com/subject/dmmetctx.html