从严格意义上来说,BASE64
编码算法并不算是真正的加密算法,它只是将源数据转码成为了一种不易阅读的形式,而转码的规则是公开的(解码很容易)。转码之后的数据具有不可读性,需要解码后才能阅读。 遇到很会的boy
,会被轻易扯掉这层底裤,但因为使用的地方也比较多,简单的记一下。
BASE64
编码原理
Base64
要求把每三个8Bit
的字节转换为四个6Bit
的字节(3*8 = 4*6 = 24
),然后把6Bit
再添两位高位0
,组成四个8Bit
的字节,也就是说,转换后的字符串理论上将要比原来的长1/3
。
Base64
编码遵循以下规则:
①.把3
个字符变成4
个字符。
②每76
个字符加一个换行符。
③.最后的结束符也要处理。
转码过程示例:

对照转换表:结果 c z E z

在python中使用BASE64编码:
import base64
test_str = 'china is so nb'
# 编码
encode_str = base64.encodebytes(test_str.encode('utf8'))
print(encode_str.decode())
# 解码
decode_str = base64.decodebytes(encode_str)
print(decode_str.decode())
注意:编码是传入二进制数据
js使用BASE64
引入开源的base64.js
使用很简单,浏览器引入该JS
文件,
<script src="https://cdn.jsdelivr.net/npm/js-base64@3.7.2/base64.min.js"></script>
然后Base64
编码这样:
Base64.encode('china is so nb'); // 编码
Base64.decode("Y2hpbmEgaXMgc28gbmI="); // 解码
网友评论