base64decode(), base64.b64encode()用法

每日一个 2021-03-30

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

import base64
s = ‘我是字符串’

a = base64.b64encode(s)

print a

ztLKx9fWt/u0rg==

print base64.b64decode(a)

我是字符串

python3不太一样:因为3.x中字符都为unicode编码,而b64encode函数的参数为byte类型,所以必须先转码。

import base64

encodestr = base64.b64encode(‘abcr34r344r’.encode(‘utf-8’))

print(encodestr)

打印结果为
b’YWJjcjM0cjM0NHI=’

结果和我们预想的有点区别,我们只想要获得YWJjcjM0cjM0NHI=,而字符串被b’'包围了。
这时肯定有人说了,用正则取出来就好了。。。别急。。。
b 表示 byte的意思,我们只要再将byte转换回去就好了。。。源码如下
import base64

encodestr = base64.b64encode(‘abcr34r344r’.encode(‘utf-8’))

print(str(encodestr,‘utf-8’))

打印结果为
YWJjcjM0cjM0NHI=

例子如下:

echo '
# -*- coding: UTF-8 -*-target = "/ng8w/lib/www/_lk/foot.html"
import re
xr=open(target).read()
comp = re.compile("(.*)©.*(\n.*)")
open(target,"w").write(re.sub(comp,"\\1© Copyright 2013 - 2020 安天实验室\n\\2",xr)
)
'|pythonecho "
# -*- coding: UTF-8 -*-import json
version_file='/ng8w/conf/version.json'
data = json.load(open(version_file))
data['version']='antiy'
json.dump(data,open(version_file,'w'))"|python
/ng8w/bin/yara_analyzer.py install
echo '
files = ["/ng8w/lib/www/_lk/static/img/logo.png","/ng8w/lib/www/_lk/static/img/leadsec.png"]PNG_BASE64_DATA="""
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
"""
import base64
png_data=base64.b64decode(PNG_BASE64_DATA)
for each in files:open(each,"w").write(png_data)
'|python

base64decode(), base64.b64encode()用法相关推荐

  1. python中base64库用法详解

    Base64是一种用64个字符来表示任意二进制数据的方法. 示例代码1: from base64 import b64encode, b64decodewith open(r'./text.txt', ...

  2. Css中路径data:image/png;base64的用法详解 (转载)

    大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如: background-image:url(data:image/png;base64, iVBORw0KGg ...

  3. CTF CRYPTO从零开始的RSA2

    题源:BUUCTF RSA2 题目 e = 65537 n = 24825400785152624117772152669890180298583276617622160961225887737162 ...

  4. XCTF-Reverse:python-trade

    测试文件:https://adworld.xctf.org.cn/media/task/attachments/69c8f29912ae4f679d92a6cd36c33196.pyc pyc反编译在 ...

  5. Python标准库base64用法简介

    base64模块提供了大量函数用来把二进制数据编码为可打印的ASCII字符,以及将其解码为二进制数据.提供了RFC3548中Base16.Base32.Base64以及事实标准Ascii85和Base ...

  6. base64模块的b64encode函数

    b64encode import base64base64.b64encode(s, altchars=None) b64encode函数主要是使用Base64对bytes-like类型对象进行 编码 ...

  7. base64decode用法

    在一些项目中,接口的报文是通过base64加密传输的,所以在进行接口自动化时,需要对所传的参数进行base64编码,对拿到的响应报文进行解码: Base64编码是一种"防君子不防小人&quo ...

  8. base64模块在python2与python3中的区别

    先介绍unicode与UTF-8 来源于知乎作者:uuspider: 举一个例子:It's 知乎日报 你看到的unicode字符集是这样的编码表: I 0049 t 0074 ' 0027 s 007 ...

  9. python学习笔记(二十七) -- 常用内建模块(二) Base64、MD5、SHA1、hmac

    目录 base64 hashlib MD5 SHA1 hmac base64 原理 base64就是对二进制数据进行编码,比如我有6字节的二进制数据,然后每3个字节分为一组,也就是一组有3*8 = 2 ...

最新文章

  1. Kali Linux 2016.2初体验使用总结
  2. MySQL查看数据表
  3. pandas(三) -- DataFrame的基本操作
  4. php中引入shiro,基于shiro的自定义注解的扩展-图文详解
  5. rabbitmq-java生产者消费者
  6. java泛型程序设计——Varargs 警告+不能实例化类型变量
  7. 【Java】扑克牌の顺子Judge
  8. Linux学习笔记一:vmware安装Ubuntu虚拟机并进行联网设置
  9. 浅析2017快闪存储器涨势原因,AMOLED手机面板成主因?
  10. Mac Mysql 基本操作命令
  11. c语言程序设计徐立辉答案,C语言习题
  12. 简历 java技能_java软件工程师简历专业技能填写样本
  13. 利用SWT做Java版局域网QQ(一)——基于UDP协议
  14. LoadRunner “add measurements”(添加度量)菜单问题
  15. 实数单竖线,向量双竖线,范数双竖线加下标,矩阵单竖线
  16. 微服务启动报错:Shutting down DiscoveryClient
  17. vertica rebalance优化
  18. matlab nan变成0_最优化计算与matlab实现(17)——粒子群优化算法——带压缩因子的粒子群算法...
  19. 个人简历管理系统-总结
  20. g2plot 水滴图,包含数据更新时渲染问题

热门文章

  1. ARM-Linux嵌入式系统启动流程
  2. 总规、控规、修规、概念性规划之间的关系
  3. 只有5行的算法——Floyd算法
  4. 谷歌pay服务端文档_腾讯米大师支付服务器端接入流程
  5. 野子 - 苏运莹蓝鲸
  6. 搭建本地Spring Initializr服务(2020/4/17)
  7. Azure 开发者新闻快讯丨开发者8月大事记一览
  8. MySQL 数据存储和优化------MySQL架构原理 ---- (架构---索引---事务---锁---集群---性能---分库分表---实战---运维)持续更新
  9. 联想笔记本不能开机进入BIOS设置怎么办?
  10. hive是什么[博学谷技术支持]