base64 加密
base64是一种基于64个可打印字符来表示二进制数据的方法。
它是目前网络上最常见的用于传输8Bit字节码的编码方式之一。
Python base64
base64 是 python 中的内置模块
使用方法:
base64.b64encode() # 将bytes类型数据进行base64编码,返回编码后的bytes类型数据。
base64.b64deocde() # 将base64编码后的bytes类型数据进行解码,返回解码后的bytes类型数据。
>>> import base64
>>> byte = bytes('云端一梦', encoding='gbk')
>>> byte
b'\xd4\xc6\xb6\xcb\xd2\xbb\xc3\xce'
>>> b64 = base64.b64encode(byte)
>>> b64
b'1Ma2y9K7w84='
>>> byte = base64.b64decode(b64)
>>> byte
b'\xd4\xc6\xb6\xcb\xd2\xbb\xc3\xce'
>>> str(byte, encoding='gbk')
'云端一梦'
加密规则
1、把3个字节重组成4个字节:38=>46。每个字节高两位补0。
例如:11111111 11111111 11111111
base64加密=> 00111111 00111111 00111111 00111111
每个字节只有六位有效位,最大值不超过 2^6 = 64
转化成十进制后,查编码表得到最终字符:////
2、每76个字符加一个换行符。
3、最后的结束符也要处理。
Base64编码表
索引 | 对应字符 | 索引 | 对应字符 | 索引 | 对应字符 | 索引 | 对应字符 |
---|---|---|---|---|---|---|---|
0 | A | 16 | Q | 32 | g | 48 | w |
1 | B | 17 | R | 33 | h | 49 | x |
2 | C | 18 | S | 34 | i | 50 | y |
3 | D | 19 | T | 35 | j | 51 | z |
4 | E | 20 | U | 36 | k | 52 | 0 |
5 | F | 21 | V | 37 | l | 53 | 1 |
6 | G | 22 | W | 38 | m | 54 | 2 |
7 | H | 23 | X | 39 | n | 55 | 3 |
8 | I | 24 | Y | 40 | o | 56 | 4 |
9 | J | 25 | Z | 41 | p | 57 | 5 |
10 | K | 26 | a | 42 | q | 58 | 6 |
11 | L | 27 | b | 43 | r | 59 | 7 |
12 | M | 28 | c | 44 | s | 60 | 8 |
13 | N | 29 | d | 45 | t | 61 | 9 |
14 | O | 30 | e | 46 | u | 62 | + |
15 | P | 31 | f | 47 | v | 63 | / |
如果觉得本文有用,万望看官慷慨解囊,不吝打赏,激励本编提供更加优质的内容
[点击进行打赏](https://www.cnblogs.com/52note/p/16507868.html)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix