3. Base64用途和原理
文章目录
- 1.Base64 能干什么?
- 2.Base64 是加密算法吗?
- 3.什么情况下,使用Base64?
- 4.Base64原理
1.Base64 能干什么?
转码
图片
装逼
编、解码
2.Base64 是加密算法吗?
不是,是一种编码格式
3.什么情况下,使用Base64?
URL特殊字符,转码,转义
嵌入图片 src="base64编码之后的内容"
4.Base64原理
官方解释:Base64就是使用64个可打印字符来表示二进制数据的方法
理解:把3个8位字节(3*8=24)转换为4个6位得字节(4*6=24),之后在每个6位的前面补两个0,形成8位,即一个字节。再根据每个字节的值,用下表中的值替换,不足四个字节的,补"="
案例:初始值 11111111 11111111 11111111转换值 00111111 0011111 00111111 00111111所以Base64中 min 000000 0max 111111 63共需要64个字符a-z 26A-Z 260-9 10+/ 2
第一步:找到中文字符在操作系统中对应字符编码表(chcp)GB2312
第二步:中文找到字符编码中的十进制值(参照http://tools.jb51.net/table/gb2312)计算方式 按照编码表查出左边四位,如升,左边为十六进制C9F0,上面为D,计算方式为将16进制转为10进制 51696 + 13 = 51709
案例:升职加薪 对应为(EXCEL函数=CODE(G15)可快速运算)升 51709职 54960加 48339 薪 53437
第三步:十进制转换为二进制升 1100100111111101职 1101011010110000加 1011110011010011 薪 1101000010111101
第四步:对二进制进行分组,每6个一组,不足6位最后补0110010 011111 110111 010110 101100 001011 110011 010011 110100 001011 110100
第五步:转为10进制,对应base64编码,结尾 “=”表示结束50 31 55 22 44 11 51 19 52 11 52y f 3 W s L z T 0 L 0 =
第六步:验证
public static void main(String[] args) {BASE64Decoder base64Decoder = new BASE64Decoder(); BASE64Encoder base64Encoder = new BASE64Encoder();try {String result = new String(base64Decoder.decodeBuffer("yf3WsLzT0L0="),"GB2312");System.out.println(result);//升职加薪} catch (Exception e) {e.printStackTrace();} }
3. Base64用途和原理相关推荐
- 私有密钥与公钥的用途与原理解析
私有密钥与公钥的用途与原理解析 数字签名是什么? 作者: 阮一峰 http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_sig ...
- Base64与Java -- Base64简介与原理
Base64与Java – Base64简介与原理 文章目录 Base64与Java -- Base64简介与原理 简介与用途 为什么叫Base64? 编码流程 常规处理 特殊处理 剩余1个字节 剩余 ...
- 关于base64编码的原理及实现
我们的图片大部分都是可以转换成base64编码的data:image. 这个在将canvas保存为img的时候尤其有用.虽然除ie外,大部分现代浏览器都已经支持原生的基于base64的encode和d ...
- [vue] 你知道style加scoped属性的用途和原理吗?
[vue] 你知道style加scoped属性的用途和原理吗? 在标签上绑定了自定义属性,防止css全局污染 但是很多时候使用ui框架如果加scope就不能覆盖,这个时候一般写sass 会在最外层包裹 ...
- 详述图片base64加密的原理,告诉你什么是“/9j/“
欢迎大家搜索"小猴子的技术笔记"关注我的公众号,有问题可以及时和我交流. 在日常的生活中,我们肯定都经历过类似这样的场景:报名考试上传图片,网站要求的是上传的照片不 ...
- Base64编解码原理并用Java手工实现Base64编解码
Base64编解码原理 目前Base64已经成为网络上常见的传输8比特字节代码的编码方式之一.在做支付系统时,系统之间的报文交互都需要使用Base64对明文进行转码,然后进行签名或加密,之后再次Bas ...
- 16进制转Base64的实现原理及代码
随着计算机技术的发展,数据的存储和传输方式也在不断更新,其中十六进制字符串和Base64编码是两种常见的数据表示方式.本文将介绍16进制字符串和Base64编码的原理,并提供Java代码实现16进制字 ...
- Base64编码解码原理详解
Base64编码解码原理详解 1. Base64字符的组成部分 Base64所用字符: 0,1,2 -.9 A,B,C,D-Z a,b,c,d-z + / 对应ASCII: 48,49-58,65,6 ...
- 彻底搞懂base64加解密原理和隐写技术
base64编码和解码是一个常用的方式,可以避免明文传输或者存储,也可以结合加解密技术进行使用. base64 编码的定义:base64编码表: base64 采用6位二进制进行编码,不足部分补足0, ...
最新文章
- 用fgets()函数以字符串形式读取磁盘文件并输出到屏幕
- 回归模型-线性回归算法
- centos7-同步时间
- 【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )
- 解压RK3288的boot.img修改init.rc 添加开机自启动脚本
- java 获取当前时间月加1 ,年加1
- 四大算法解决最短路径问题(Dijkstra+Bellman-ford+SPFA+Floyd)
- macOS下搭建Nexus 3.x服务器作为Maven的资源仓库服务器
- sybase自增与插入
- Java拦截器验证失败时返回Json格式数据
- 企查查python爬虫实例
- python 单词拆音节_实用小技巧,Python一秒将全部中文姓名转为拼音!
- 安卓系统目录说明大全,各文件夹是什么,可以删除吗?(以MIUI为例)
- (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
- 功能强大~带你走近Smartbi增强分析模块
- 老男孩教育 | 5分钟带你搞懂日志采集利器Filebeat!
- 我所知道的专业搜索引擎
- 2019年年终总结~平淡生活
- Pycharm2018永久破解方法
- 计算机网络实践的体会,计算机网络实训心得体会