什么是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. Spring Security进阶

    Spring Security进阶 1.连接数据库进行数据的验证 Spring Security进行身份验证或者权限控制时,用户名和密码应该要和数据库的进行比较才行,用户的各种信息我们从数据库中去获取 ...

  2. 你的 JVM 基础“大厦”稳健吗?

    [从 1 开始学 JVM 系列] JVM 对于每位 Java 语言编程者来说无疑是"重中之重",尽管我们每天都在与它打交道,却很少来审视它.了解它,慢慢地,它成为了我们" ...

  3. Linux下Sed替换时无法解析变量

    1.问题描述 用sed替换文件中的IP时,想替换成$es_ip中的值,但是却不能解析这个变量$es_ip sed -ri 's/([0-9]{1,3}\.){3}[0-9]{1,3}/$es_ip/g ...

  4. Docker入门之zabbix-agent篇

    在client端启动zabbix-agent服务 启动zabbix-agent有如下2种方式: agent start root@lykj-45:/srv# ls leyao zabbix zabbi ...

  5. 一行Java代码实现游戏中交换装备

    摘要:JDK 1.5 开始 JUC 包下提供的 Exchanger 类可用于两个线程之间交换信息. 本文分享自华为云社区<一行Java代码实现两玩家交换装备[并发编程]>,作者:陈皮的Ja ...

  6. vs2015使用tcmalloc(windows)

    编译lib库 1.https://github.com/gperftools/gperftools  去tag中下载了2.4版本(最新的2.9.1版本 用了c++17的新特性折叠表达式,vs2015不 ...

  7. Docker 安装 MySQL5.6

    方法一.docker pull mysql查找Docker Hub上的mysql镜像 #docker search mysql 这里我们拉取官方的镜像,标签为5.6 #docker pull mysq ...

  8. [转]SpringBoot系列——花里胡哨的banner.txt

    Creating ASCII Text Banners from the Linux Command Line In Ubuntu, Debian, Linux Mint etc. $ sudo ap ...

  9. 聊一聊开闭原则(OCP).

    目录 简述 最早提出(梅耶开闭原则) 重新定义(多态开闭原则) 深入探讨 OCP的两个特点 对外扩展开放(Open for extension) 对内修改关闭 抽象 关闭修改.对外扩展? 简述 在面向 ...

  10. php在类中使用回调函数 如array_map

    <?php class foo {   var $var;   function bar() {      array_map(array($this, "baz"), ar ...