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加解密相关推荐

  1. JS逆向加解密——python 实现AES加解密

    前言 写爬虫项目,做JS逆向或者APP逆向时,经常遇到网站的很多参数都经过AES加密解密,用python实现AES加解密是非常简单的,免去了扣JS代码,并且实现格式固定,所以本文提供实现好的AES加解 ...

  2. Flex中的Base64加解密

    Flex中的Base64加解密 Flex sdk3就内置了Base64的加/解密工具类 分别是 mx.utils.Base64Encoder mx.utils.Base64Decoder Base64 ...

  3. java base64 加解密_java Base64加解密

    import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Base64Util { public stati ...

  4. linux下C++base64加解密与图片互转

    最近由于工作需要,需要处理由http传来的base64图片数据,特此做下记录也希望能帮到更多的朋友. 部分内容参考Andy____Li 的blog: https://blog.csdn.net/m0_ ...

  5. python openssl 证书加解密过程感觉是这样

    python openssl 证书加解密过程感觉是这样 第一步 生成2048 bit的PEM格式的RSA Key:Key.pem openssl genrsa -out Key.pem -f4 204 ...

  6. Jmeter接口请求Base64加解密

    jmeter 对报文进行Base64加解密心得.        业务需求是,对接口进行测试,但需要对报文进行加密,对返回的密文进行解密.        遇到的问题:接口传的报文字段,因为没有加密,所以 ...

  7. java实现加密———Base64加解密

    java实现Base64加解密 @Testpublic void test01() throws Exception {String name = "LuWenMenHu";Str ...

  8. PB实现BASE64加解密

    文章目录 实例 文本加解密 文件加解密 源代码 实例 文本加解密 1.加密文本:PB实现BASE64加解密 得到的密文为:UELlrp7njrBCQVNFNjTliqDop6Plr4Y= 2.解密文本 ...

  9. python实现AES加解密文档里英文字符串

    python实现AES加解密文档里英文文章 AES加解密文档里英文字符串 英文文档中也包含了空格与回车符 加密过程 首先读取文件中的内容 将文档中的内容读取,然后将其赋予你申请的变量 在我的实验中我的 ...

最新文章

  1. python 比较两个字符串
  2. django中如何优雅的处理一个多按钮的表单
  3. OSM OpenStreetMap 获取城市路网数据及转为ESRI shp数据的方法
  4. php的具体配置学习笔记
  5. Java线程池—ThreadPool简介
  6. java事件轮询_用scala实现的nio事件轮询
  7. java服务端开发 php_Java和 PHP哪种语言更适合直播系统后台开发
  8. 使用javascript的“委托”实现attachEvent
  9. matlab2017b 破解
  10. h5打开APP,如果未下载跳转下载页,如果已下载唤醒APP
  11. java 定时任务 单元测试_介绍java 定时任务最简单的3种实现方法
  12. Python批量爬取堆糖网图片
  13. 抓取微博热搜榜数据并保存在Excel中
  14. 爬虫03_股票数据定向爬虫
  15. flask之人工智能
  16. 【艺术评析】陈全胜先生山水画
  17. 外企文化大比较 德企、日企里的人情真相
  18. 机器学习——霍夫丁不等式【转】
  19. 网站建设用国内域名好还是国外域名好?
  20. 2018/7/10功能点解读

热门文章

  1. 抗旋转matlab算法,抗旋转核心训练:2个动作推荐
  2. 盈亏计算html,外汇交易中如何计算盈亏? -
  3. 气动调节阀在检修的时候有哪些步骤
  4. python语法(一)
  5. 零点极点传递函数以及伯德图
  6. 细分市场——电视重生 | 《商业价值》杂志
  7. 015 《海尔是海:张瑞敏随笔选录》读书记
  8. 测试通过与失败的标准
  9. UReport2 - 套打实现
  10. 【随笔】2022的一些想法,关于多巴胺戒断