Base64

1. 如何判断一个字符串是否经过base64加密过

(1)字符串的长度为4的整数倍。
(2)字符串的符号取值只能在A-Z, a-z, 0-9, +, /, =共计65个字符中,且=如果出现就必须在结尾出现。

Base64加密:用6个二进制位表示一个字符,而6个二进制位一共可以表示64个字符,即Base64编码表。Base64将英文字符、汉字、图片等的二进制数据,每6个bit位的十进制值对应Bas64编码表的字符,每4个Base64字符为一组,最后一组有可能不满4个字符,用等号【=】填充。
Base64解密:去掉末尾的等号,逆向操作即可在这里插入图片描述

2.为什么要将图片转为base64格式?

网页上的每个图片下载都需要单独请求一次,为了提升性能,减少请求次数。图片的base64编码就是可以将一副图片数据编码成一串字符串,使用base64直接把图片编码成字符串写入CSS文件,图片即可随着HTML的下载同时下载到本地。适合小尺寸的图片,若大尺寸的图片使用 base 64 的话,会导致数据太大,加载过慢

3.Base64的作用:

数据内容进行编码来适合传输数据内容进行编码来适合传输
Base64一般用于在HTTP协议下传输二进制数据:由于HTTP协议是文本协议,所以在HTTP协议下传输二进制数据需要将二进制数据转换为字符数据。因为网络传输只能传输可打印字符,而ASCII码中0至31、128这33个字符属于控制字符,32~127这95个字符属于可打印字符,也就是说网络传输只能传输这95个字符,不在这个范围内的字符无法传输。其中一种方式就是使用Base64。
(1)将需要传输的数据通过Base64算法加密生成可传输的Base64字符串
(2)http协议将Base64字符串转换为二进制数据
(3)收到二进制数据后再转换为Base64字符串
(4)通过Base64解密算法进行解密

4.容易出错的点

Base64编码虽然经常听到Base64加解密,但其实它只是一种编码格式并不是加密算法

5.Base64加解密的代码实现:

String password = "123456";
//加密
String encoded = Base64.getEncoder().encodeToString(password.getBytes(StandardCharsets.UTF_8));
//解密
String decoded = new String(Base64.getDecoder().decode(encoded),StandardCharsets.UTF_8);
System.out.println(encoded);
System.out.println(decoded);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值