Python中的Base64编码的加密与解密
Base64 可以干些啥?
- Base64编码的作用:
- 由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。
- 图片(and种子)base64编码传输
- 一种常用的内容快速加密方法(不安全,防君子不防小人)
- 为什么要使用 Base64 编码?
- 在网页图片传输中,一般在处理极小、极简的一些图片的时候可以使用到base64编码将图片直接写入css文件展示到网站上。
- 快速加密,常用与邮件内容传输,网站简单内容加密,跟MD5加密算法的区别在于这种算法具有可逆性同时具有快速加密的特性。(所以会解密的人可以直接查看加密内容,就是防君子不防小人啦~)
Python中的使用

代码:
import base64
# 自定义字符串
s = "xmgll"
print(s)
# 查看s类型
print(type(s))
# 一、base64加密
# 1. 转换为byte类型数据
s_bt = s.encode()
print(s_bt)
# 查看s_bt类型
print(type(s_bt))
# 2. 加密byte类型数据
s_b64 = base64.b64encode(s_bt)
# 加密结果,最终类型为byte类型
print(s_b64)
# 3. 将byte加密内容转成str
s_b64_str = s_b64.decode()
print(s_b64_str)
# 查看s_b64_str类型
# 二、base64解密
# 1. 传入字符串类型数据,上面已经完成了所以这里直接使用s_b64_str
untie_s = base64.b64decode(s_b64_str)
# 2. 获取数据,结果为byte字节类型
print(untie_s)
# 3. 转为字符串类型
print(untie_s.decode())
总结
在Python中你的Base64编码的加密与解密,重点是字符类型的转换byteAndstr,我自己一般会理解为加密过程中使用机器可识别编码(byte),解密过程使用人类正常识别编码(str)
Python中的Base64编码的加密与解密的更多相关文章
- Python中进行Base64编码和解码
Base64编码 广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符.优点:速度快,ascii字符,肉眼不可理解缺点:编码比较长,非常容 ...
- 在python中实现BASE64编码
什么是Base64编码 BASE64是用于传输8Bit字节的编码方式之一,是一种基于64个可打印字符来表示二进制数据的方法. 如下是转换表:The Base64 Alphabet Base64编码可以 ...
- Python中crypto模块进行AES加密和解密
#coding: utf8 import sys from Crypto.Cipher import AES from binascii import b2a_hex, a2b_hex class p ...
- python中的base64加密解密
介绍 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RFC2049,上面有MIME的详细规范. ...
- python中的URL编码和解码
python中的URL编码和解码:test.py # 引入urllib的request模块 import urllib.request url = 'https://www.douban.com/j/ ...
- 如何在Python 中使用UTF-8 编码 && Python 使用 注释,Python ,UTF-8 编码 , Python 注释
如何在Python 中使用UTF-8 编码 && Python 使用 注释,Python ,UTF-8 编码 , Python 注释 PIP $ pip install beauti ...
- iOS开发之 AES+Base64数据混合加密与解密
2016-04-08 09:03 编辑: liubinqww 分类:iOS开发 来源:liubinqww 投稿 4 889 "APP的数据安全已经牵动着我们开发者的心,简单的MD5/ ...
- iOS 中使用Base64编码方式编码图片数据
最近一个项目要求对图片数据简单加密下,就是那种不能直接看到图片内容就行.于是我使用了base64编码对图片数据进行编码,把图片2进制数据变成了base64的字符串,再把这个字符串保存到server的数 ...
- Python中的base64模块
本文介绍Python 2.7中的base64模块,该模块提供了基于rfc3548的Base16, 32, 64编解码的接口.官方文档,参考这里. 该模块提供两套接口,传统接口基于rfc1521的Bas ...
随机推荐
- JavaSE语法(中)
6.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 是值传递.Java语言的方法调用支持参数的值传递.当一个对象实例作为一个 ...
- jq实现监听滚动条导致导航栏变色
1效果图 2 html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- Python实现发送邮件代码
代码如下: # -*- coding: utf-8 -*- #!/usr/bin/env python # @Time : 2017/12/22 17:50 # @Desc : # @File : m ...
- JVM原理速记复习Java虚拟机总结思维导图面试必备
良心制作,右键另存为保存 喜欢可以点个赞哦 Java虚拟机 一.运行时数据区域 线程私有 程序计数器 记录正在执行的虚拟机字节码指令的地址(如果正在执行的是Native方法则为空),是唯一一个没有规定 ...
- windows,linux安装redis
windows安装redis Redis介绍 Redis是什么 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string.list ...
- [WPF] Caliburn Micro学习三 Binding
Caliburn Micro学习一 Installation Caliburn Micro学习二 Infrastructure 如果说WPF推崇的Binding开辟了一条UI开发新的方式——让写代码的 ...
- git push后出现错误 ![rejected] master -> master(non-fast-forward) error:failed to push some refs to 'XXX'
本地创建了一个project并在GitHub上创建了一个仓库,想要将本地的仓库链接到远程仓库我用的是如下方法:git init //初始化本地仓库git remote add origin XX ...
- java property 配置文件管理工具框架,避免写入 property 乱序
property property 是 java 实现的 property 框架. 特点 优雅地进行属性文件的读取和更新 写入属性文件后属性不乱序 灵活定义编码信息 使用 OO 的方式操作 prope ...
- Mybatis加入日志
*在mybatis-config.xml核心配置文件中加入如下设置,在configration中标签中加入 <!--打印日志,方便看输出SQL --> <settings> & ...
- asp.net以流导出Excel
废话不多说,直接上代码 这是点击导出的事件函数,因为我是从前端获取的Table的json数据,所以需要转换一下,大家直接用查询出来的DataTable即可 protected void bt_expo ...