为什么说Base64是用于编码而不是用于加密?
2015-05-03 19:30
483 查看
在写上一遍博文“为什么Base64编码有回车换行符”的时候,就留意到网上有人说Base64是用于编码,而不是加密的,我也查看了公司的文档,发现上面也是用加密,那就以此展开,说说是Base64加密,还是Base编码。
先上结论:没有Base64加密,只有Base64编码。
展开说明:
Base64编码解决了什么问题?
Base64编码解决了将不可打印的内容变成可打印。
Base64编码如何实现把不可打印的内容变成可打印?
RFC 2045规定了Base64编码后的字符都是由标准键盘上面的常规字符组成。(因为这一点,所以Base64只是编码)
下面举两个实际环境:
例子1:Base64编码后的字符串因为都是常规字符,在网关之间传递不会产生Unicode字符串不能识别或者丢失的现象。
例子2:如果要发送附件到后台(附件有可能是图片,文档,视频和音频),而这些附件不是什么重要文件,那可以用Base64进行编码,后台收到后可以存入数据库或者XML文件。
注意:编码后的数据比原始数据略长,为原来的4/3 。因为在RFC 2045规定,每76个字符,还需要加上一个回车换行。
参考资料:
RFC-2045:https://www.ietf.org/rfc/rfc2045.txt
维基百科:http://zh.wikipedia.org/zh/Base64
http://coderbee.net/index.php/basis/20130910/459
http://zhidao.baidu.com/link?url=dQcq-LO8Ce13fbILeXzpQcmIjbk32XrfzW7UEVMIYoG5WB55zyyVbMzK94iJxrWTIrhWWywIwQymiv2FxLsA9a
http://baike.baidu.com/link?url=JVf9oJsF6poZUw4Wus8ygpsJ2Tj0uP6V48gr5Fw5yI1h1Ga2D0A4IWUkGkF_nbkVtOli6Gns4QbUAW9uSvBmdK
先上结论:没有Base64加密,只有Base64编码。
展开说明:
Base64编码解决了什么问题?
Base64编码解决了将不可打印的内容变成可打印。
Base64编码如何实现把不可打印的内容变成可打印?
RFC 2045规定了Base64编码后的字符都是由标准键盘上面的常规字符组成。(因为这一点,所以Base64只是编码)
下面举两个实际环境:
例子1:Base64编码后的字符串因为都是常规字符,在网关之间传递不会产生Unicode字符串不能识别或者丢失的现象。
例子2:如果要发送附件到后台(附件有可能是图片,文档,视频和音频),而这些附件不是什么重要文件,那可以用Base64进行编码,后台收到后可以存入数据库或者XML文件。
注意:编码后的数据比原始数据略长,为原来的4/3 。因为在RFC 2045规定,每76个字符,还需要加上一个回车换行。
参考资料:
RFC-2045:https://www.ietf.org/rfc/rfc2045.txt
维基百科:http://zh.wikipedia.org/zh/Base64
http://coderbee.net/index.php/basis/20130910/459
http://zhidao.baidu.com/link?url=dQcq-LO8Ce13fbILeXzpQcmIjbk32XrfzW7UEVMIYoG5WB55zyyVbMzK94iJxrWTIrhWWywIwQymiv2FxLsA9a
http://baike.baidu.com/link?url=JVf9oJsF6poZUw4Wus8ygpsJ2Tj0uP6V48gr5Fw5yI1h1Ga2D0A4IWUkGkF_nbkVtOli6Gns4QbUAW9uSvBmdK
相关文章推荐
- ios开发之Objective-C中BASE64编码加密解密的使用
- Base64编码解析以及加密、解密实现
- Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一
- Base64 算法原理,以及编码、解码【加密、解密】 介绍
- Base64编码为什么会使数据量变大?
- JAVA中Base64编码加密解密源码
- 在Javascript 中的Base64加密,支持中文加密及emoji表情的unicode编码的base64加密
- Base64 算法原理,以及编码、解码【加密、解密】 介绍
- 为什么用于开关电源的开关管一般用MOS管而不是三极管
- base64加密,解密,encode,decode,编码详解+实现
- Base64加密解密 用于安全系数不高的信息
- Base64编码为什么会使数据量变大?
- MD5和SHA1加密,DES加密和解密,Base64编码解码。
- 简洁实用的Java Base64编码加密异常处理类代码
- 关于iOS中AES加密和base64编码的理解
- Base64 算法原理,以及编码、解码【加密、解密】 介绍
- 为什么Base64编码有回车换行符
- 实用命令:利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密
- 实用命令:利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密
- iOS个人整理31-MD5,base64编码,KeyChain加密