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

Base64 可以干些啥?

  • Base64编码的作用:
  1. 由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。
  2. 图片(and种子)base64编码传输
  3. 一种常用的内容快速加密方法(不安全,防君子不防小人)
  • 为什么要使用 Base64 编码?
  1. 在网页图片传输中,一般在处理极小、极简的一些图片的时候可以使用到base64编码将图片直接写入css文件展示到网站上。
  2. 快速加密,常用与邮件内容传输,网站简单内容加密,跟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)

原文地址:https://www.cnblogs.com/xmg520/p/12005627.html

时间: 2024-08-28 13:01:56

Python中的Base64编码的加密与解密的相关文章

Python中进行Base64编码和解码

Base64编码是一种“防君子不防小人”的编码方式.广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符.优点:速度快,ascii字符,肉眼不可理解缺点:编码比较长,非常容易被破解,仅适用于加密非关键信息的场合Python中进行Base64编码和解码>>> import base64>>> s = '我是字符串'>>> a = base64.b64encode(s)>>>

Python中crypto模块进行AES加密和解密

#coding: utf8 import sys from Crypto.Cipher import AES from binascii import b2a_hex, a2b_hex class prpcrypt(): def __init__(self, key): self.key = key self.mode = AES.MODE_CBC #加密函数,如果text不是16的倍数[加密文本text必须为16的倍数!],那就补足为16的倍数 def encrypt(self, text):

python中的base64加密解密

介绍 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RFC2049,上面有MIME的详细规范. Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息.采用Base64编码具有不可读性,需要解码后才能阅读. Base64由于以上优点被广泛应用于计算机的各个领域,然而由于输出内容中包括两个以上“符号类”字符(+, /, =),不同的应用场景又分别研制了Base64的各

python获取图片base64编码的例子

用python语言获得图片的Base64编码. #!/usr/bin/env python # -*- coding: utf-8 -*- # www.jbxue.com import os, base64 icon = open('ya.png','rb') iconData = icon.read() iconData = base64.b64encode(iconData) LIMIT = 60 liIcon = [] while True: sLimit = iconData[:LIMI

Python中的字符编码问题

初学Python,本身就在一些语句处有些迷惑,如 a = u'你好',不知加上这个Unicode参数有何作用.一直到做爬虫抓取新闻时,在cmd的输出上总是出现错误.经过检索相关知识后,对一些编码问题做个小总结,其中参杂个人猜测,难免会有错误,以后再慢慢修改了. 1.一定要声明#coding=XXX吗? 首先.py文件中,编码默认是ASCII的,一旦py文件中出现了中文类似编码,IDE就会提示 也就是提示文中出现了非ASCII,建议在文件开始制定编码,当然我们常用的是#coding:utf8 (貌

iOS开发之 AES+Base64数据混合加密与解密

2016-04-08 09:03 编辑: liubinqww 分类:iOS开发 来源:liubinqww 投稿 4 889 "APP的数据安全已经牵动着我们开发者的心,简单的MD5/Base64等已经难以满足当下的数据安全标准,本文简单的介绍下AES与Base64的混合加密与解密" AES:高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES

Python使用rsa模块实现非对称加密与解密

Python使用rsa模块实现非对称加密与解密 1.简单介绍: RSA加密算法是一种非对称加密算法 是由已知加密密钥推导出解密密钥在计算上是不可行的"密码体制.加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的. RSA密钥至少为500位长,一般推荐使用1024位.RSA密钥长度随着保密级别提高,增加很快. 由于RSA的特性,一个1024位的密钥只能加密117位字节数据,当数据量超过117位字节的时候,程序就会抛出异常. --来自大佬 2.代码实现: 来一段大佬的代码

java spring中对properties属性文件加密及其解密

原创整理不易,转载请注明出处:java spring中对properties属性文件加密及其解密 代码下载地址:http://www.zuidaima.com/share/1781588957400064.htm 加密类: package com.zuidaima.commons.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import

Python中的base64模块

本文介绍Python 2.7中的base64模块,该模块提供了基于rfc3548的Base16, 32, 64编解码的接口.官方文档,参考这里. 该模块提供两套接口,传统接口基于rfc1521的Base64,当前接口基于rfc3548的Base16/32/64编码规范,本文只介绍当前的接口. 当前接口在Python 2.4中就被引进,关于Base64编码格式提供了以下六种接口,便于高效灵活地实现需要的编解码工作. 1. b64encode(s, altchars=None) 2. b64deco