python之base64加解密

Posted 青春无限坑!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之base64加解密相关的知识,希望对你有一定的参考价值。

1、什么是Base64

Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2^6=64,所以每6个比特为一个单元,对应某个可打印字符。

3个字节有24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。

2、python中的base64模块

Base64模块真正用得上的方法只有8个,分别是:

encode, decode为一组, 专门用来编码和解码文件的, 也可以对StringIO里的数据做编解码;

encodestring, decodestring为一组,专门用来编码和解码字符串

b64encode, b64decode为一组, 用来编码和解码字符串,并且有一个替换符号字符的功能

因为Base64编码后的字符除了英文字母和数字外还有三个字符' + /  =',其中'='只是为了补全编码后的字符数为4的整数,而'+'和'/'在一些情况下需要被替换的,b64encode和b64decode正是提供了这样的功能。至于什么情况下'+'和'/'需要被替换,最常见的就是对url进行Base64编码的时候。

urlsafe_b64decode, urlsafe_b64encode为一组,这个就是用来专门对url进行Base64编解码的,实际上也是调用的前一组函数。

 

base64.b64encode()将bytes类型数据进行base64编码,返回编码后的bytes类型

base64.b64deocde()将base64编码的bytes类型进行解码,返回解码后的bytes类型

decode的作用是将其他编码的字符串转换成unicode编码

encode的作用是将unicode编码转换成其他编码的字符串

 

3、Base64有什么使用场景

Base64是一种任意二进制到文本字符串的编码方法,常用于在URL、Cookie、网页中传输少量二进制数据,包括MIME的电子邮件及XML的一些复杂数据

 

4、base64转换过程

5、python代码实现

import base64 

#加密 
str1 = "你好" 
b = base64.b64encode(str1.encode('utf-8')).decode("utf-8") 
print("加密的结果:",b) 

#解密 
c = base64.b64decode(b.encode("utf-8")).decode("utf-8") 
print("解密的结果:",c)


结果:

加密的结果: 5L2g5aW9 
解密的结果: 你好

 

以上是关于python之base64加解密的主要内容,如果未能解决你的问题,请参考以下文章

python之base64加解密

加解密算法之Base64

1.Java 加解密技术系列之 BASE64

Java基础加密之BASE64加解密

java之BASE64加解密

基于python3.5的 rsa+base64加解密