美文网首页
笔记-base64编码

笔记-base64编码

作者: 梦晓枳 | 来源:发表于2018-11-21 13:43 被阅读0次

  虽然经常听说“base64加解密”的说法,但是严格意义上来讲,base64对数据的吃力方式,数据安全性并不高,所以更多时候称之为编码解码更合适。
  base64的原理:概括来说,就是用64个字符表示二进制数据。
  所以这里说的64指什么:
  从0开始,依次对字符进行编号: A-Z,a-z,0-9,+/(按照这个顺序从0开始编号),一共64个字符。

value-Encoding value-Encoding value-Encoding value-Encoding
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 /
(pad) =

  base64编解码原理:
  编码原理核心就是将3个8位二进制转换为4个六位二进制,对于不足3*8=24的情况,需要自动补充为24个bits的整数倍;
  解码原理刚好相反,需要从4个6位二进制,转换成3个8位二进制,再转换回到原始字符。
整个过程都是可逆的。

流程图:

base64加解密过程

举个例子:

准备加密数据:You:
查ASCII表知道对应ASCII值:089 111 117
换成二进制结果: 1011001 1101111 1110101
不够8位,补全(最高位补全):
01011001 01101111 01110101
拆分成6位:
010110 010110 111101 110101
高位补0:
00010110………………
转十进制计算:22 22 61 53
对应base64: WW91

编码结果使用=号补位,原文的字节最后不够3个的地方,转换Base64编码时用=号来代替。

python直接提供了base64的内部库,可以直接使用:

# 举个例子
import base64
print base64.b64encode("You")
print base64.b64decode("WW91")
# 输出结果
WW91
You

相关文章

  • iOS URL安全的Base64编码、解码

    参考iOS开发探索-Base64编码iOS URL编码&base64编码URL安全的Base64编码,解码 为什么...

  • BASE64 编码简析

    Base64编码: <1>·Base64编码简介: <2>·使用Base64的原因: <3>·编码原理: 成这个字...

  • SMTP整理

    账号:BASE64编码的账号 密码:BASE64编码的密码 快速BASE64编码网址: http://tools....

  • base64 和 url base64 和 encodeURIC

    1 先来看base64编码 2 再看url base64编码 可以看出,非url base64不会对斜杠进行编码。...

  • Base系列加密解密

    Base编码系列:[Base64][Base32] [Base16] [Base64] Base64编码是使用64...

  • java android 对接接口加密

    加密方式 方案1 使用Base64编码最常用的就是Base64编码了,Base64不算是加密,只是把字符经过编码变...

  • Base64

    Base64简介 Base64 原理解析 编码实现 Base64简介 命令行运行base64编码和解码 对文件操作...

  • base64编码解码原理散图

    base64编码出现原因: base64转码原理000.png base64编码原理: base64转码原理.pn...

  • 加密编码总结

    url编码 base64编码 工作中碰到url与base64配合加解密的问题,base64编码后的字符串中可能含有...

  • URL编码表 | Base64编码表

    URL编码表: Base64编码表:

网友评论

      本文标题:笔记-base64编码

      本文链接:https://www.haomeiwen.com/subject/kbixqqtx.html