什么是Base64编码

BASE64是用于传输8Bit字节的编码方式之一,是一种基于64个可打印字符来表示二进制数据的方法。

如下是转换表:The Base64 Alphabet

Base64编码可以解决什么问题(或用来做什么)

base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息

规则

  • 编码的规则:

    • ①.把3个字节变成4个字节。
    • ②.每76个字符加一个换行符。
    • ③.最后的结束符也要处理。

它的优点和缺点

优点:速度快,采用ascii字符,肉眼不可理解

缺点:编码比较长,而且非常容易被破解,仅适用于加密非关键信息的场合

在Base64编码工具中实现编码和解码(如图所示)

码云

对学号和姓名加密



运行结果



对结果进行解密



运行结果

在python中实现Base64的编码和解码

代码块如下

import base64                             # 导入base64

s = input("请输入需要编码的内容:")
s = s.encode() # 转换数据为byte类型
s_b64 = base64.b64encode(s) # 对byte类型数据加密
print(s_b64) # 输出加密结果 s_b64_str = input("请输入需要解码的内容:")
s_b64_str = s_b64.decode() # 转换数据类型为字符串类型
untie_s = base64.b64decode(s_b64_str) # 对字符串类型数据解密
print(untie_s.decode()) # 输出解密结果

代码托管结果如下图

参考网站

1.https://baike.sogou.com/v53347.htm?fromTitle=base64

2.https://www.sojson.com/base64.html

3.https://www.bbsmax.com/A/n2d9PRn65D/

在python中实现BASE64编码的更多相关文章

  1. Python中进行Base64编码和解码

    Base64编码 广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符.优点:速度快,ascii字符,肉眼不可理解缺点:编码比较长,非常容 ...

  2. Python中的Base64编码的加密与解密

    Base64 可以干些啥? Base64编码的作用: 由于某些系统中只能使用ASCII字符.Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法. 图片(and种子)base64 ...

  3. python中的base64加密解密

    介绍 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RFC2049,上面有MIME的详细规范. ...

  4. python中的URL编码和解码

    python中的URL编码和解码:test.py # 引入urllib的request模块 import urllib.request url = 'https://www.douban.com/j/ ...

  5. 如何在Python 中使用UTF-8 编码 && Python 使用 注释,Python ,UTF-8 编码 , Python 注释

    如何在Python 中使用UTF-8 编码 && Python 使用 注释,Python ,UTF-8 编码 , Python  注释 PIP $ pip install beauti ...

  6. Python中的base64模块

    本文介绍Python 2.7中的base64模块,该模块提供了基于rfc3548的Base16, 32, 64编解码的接口.官方文档,参考这里. 该模块提供两套接口,传统接口基于rfc1521的Bas ...

  7. python中zipfile文件名编码的问题

    在python中编程导入压缩包,利用zipfile包,从zipinfo读取文件名总是出错,创建的文件名是乱码,写入pgsql更是出错. 但在ubuntu下测试却正常,在windows下测试总是失败. ...

  8. iOS 中使用Base64编码方式编码图片数据

    最近一个项目要求对图片数据简单加密下,就是那种不能直接看到图片内容就行.于是我使用了base64编码对图片数据进行编码,把图片2进制数据变成了base64的字符串,再把这个字符串保存到server的数 ...

  9. python中Url链接编码处理(urlencode,urldecode)

    做完了flask-web应用,这几天想用爬虫做个好玩的电影链接整合器,平时找电影都是在dytt或者dy2018之类的网站,在用dytt搜索电影<美国队长时>,发现他的搜索链接是这样的:ht ...

随机推荐

  1. K8S的部署方式

    K8S部署主要有两种方式:

  2. Docker容器编排工具——docker-compose

    1.docker-compose介绍 2.使用的三个步骤 3.安装docker-compose yum install docker-compose 4.docker-compose.yml 文件 ( ...

  3. C# Equals方法和==有什么区别

    开发工具:VS2019 一.关于这两个比较,需要从值类型和引用类型两方面来说 (A)先说值类型 上图: 因为在对值类型进行比较时候,不管 .Equals() 方法还是 == 方法,都是对值类型变量(图 ...

  4. Robot Framework(9)- 使用变量文件

    如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 啥是变量文件 变 ...

  5. Java面向对象系列(9)- 方法重写

    为什么需要重写? 父类的功能,子类不一定需要,或者不一定满足 场景一 重写都是方法的重写,和属性无关 父类的引用指向了子类 用B类新建了A类的对象,把A赋值给了B,这时候B是A,A又继承了B类,向上转 ...

  6. Windows下升级Python3.7.7后(原Python3.6.2版本)如何切换Python版本

    笔者:风起怨江南 出处:https://www.cnblogs.com/mengjinxiang 笔者原创,文章欢迎转载,如果喜欢请点赞+关注,谢谢! 问题:window系统下,如果升级了最新的Pyt ...

  7. curl 理解

    PHP使用CURL详解   CURL是一个非常强大的开源库,支持很多协议,包括HTTP.FTP.TELNET等,我们使用它来发送HTTP请求.它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP ...

  8. 鸿蒙内核源码分析(字符设备篇) | 字节为单位读写的设备 | 百篇博客分析OpenHarmony源码 | v67.01

    百篇博客系列篇.本篇为: v67.xx 鸿蒙内核源码分析(字符设备篇) | 字节为单位读写的设备 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一 ...

  9. YbtOJ#643-机器决斗【贪心,李超树】

    正题 题目链接:https://www.ybtoj.com.cn/problem/643 题目大意 \(n\)个机器人,第\(i\)个攻击力为\(A_i\),防御为\(D_i\). 然后你每次可以对一 ...

  10. Python+selenium自动化生成测试报告

    批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTest ...