博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对字符串进行base64加解密---基于python
阅读量:5893 次
发布时间:2019-06-19

本文共 1547 字,大约阅读时间需要 5 分钟。

本文介绍Python 2.7中的base64模块,该模块提供了基于的Base16, 32, 64编解码的接口。官方文档,参考。

当前接口基于的Base16/32/64编码规范,本文只介绍当前的接口

关于Base64编码格式提供了以下六种接口,便于高效灵活地实现需要的编解码工作

1. 
b64encode(s, altchars
=
None
)
2. 
b64decode(s, altchars
=
None
)
3. 
standard_b64encode(s)
4. 
standard_b64decode(s)
5. 
urlsafe_b64encode(s)
6. 
urlsafe_b64decode(s)

 

 

 

 

 其中以"*encode"结尾的方法用于将二进制串转为base64编码格式的字符串,以“*decode”结尾的方法用于将base64格式的字符串重新转为二进制串。

 

  我们详细查看前两个方法,注意到b64encode()和b64decode()接收同样形式的参数。其中 s 是要编/解码的字符串;默认参数altchars的可选值必须是长度至少两字节的字符串(第二个字符后的内容将被忽略),该方法表示在编/解码过程中将使用参数altchars中的前两个字符替换标准Base64字符集中的'+'和'/'。

  因此方法3和4中的base64.standard_b64encode(s)和base64.standard_b64decode(s)等价于base64.b64encode(s)和base64.b64decode(s)。而方法5和6中的base64.urlsafe_b64encode(s)和base64.urlsafe_b64decode(s)分别等价于base64.b64encode(s , '-_')和base64.b64decode(s , '-_'),即在编/解码过程中使用'-'和'_'替代标准Base64字符集中的'+'和'/',生成可以在URL中使用的Base64格式文本。

 

举个例子:

>>> import base64>>> print base64.b64encode('Hello, I am Darren!') SGVsbG8sIEkgYW0gRGFycmVuIQ==>>>>>> print base64.b64decode('SGVsbG8sIEkgYW0gRGFycmVuIQ==')Hello, I am Darren!>>>>>> print base64.b64encode('i\xb7\x1d\xfb\xef\xff')abcd++// >>> >>> print base64.b64encode('i\xb7\x1d\xfb\xef\xff', '-_') abcd--__ >>> >>> print base64.urlsafe_b64encode('i\xb7\x1d\xfb\xef\xff') abcd--__ >>>>>> base64.urlsafe_b64decode('adcd--__') 'i\xb7\x1d\xfb\xef\xff'

  本模块还提供了Base32和Base16编解码接口:  

1. 
b32encode(s)    
2. 
b32decode(s, casefold
=
False
, map01
=
None
)  

  

Base16编解码:

1. 
b16encode(s)
2. 
b16decode(s, casefold
=
False
)

  其中参数s都是要编/解码的字符串

转载于:https://www.cnblogs.com/VseYoung/p/base64.html

你可能感兴趣的文章
王高飞:微博已收购一直播 明年一季度重点是功能与流量打通
查看>>
趣头条发行区间7至9美元 预计9月14日美国上市
查看>>
新北市长侯友宜:两岸交流应从隔壁最亲近的人开始
查看>>
全面屏的Nokia X即将上线,不到2000元的信仰你要充值吗?
查看>>
HTML5音频audio属性
查看>>
ES6学习
查看>>
序列化一个Intent
查看>>
JavaScript数据类型及语言基础--ife
查看>>
进阶 Nginx 高手必须跨越的 5 座大山
查看>>
部署P2P升级的脚本
查看>>
jenkins--ant持续集成测试build文件脚本 测试报告
查看>>
ubuntu下安装libxml2
查看>>
nginx_lua_waf安装测试
查看>>
Mysql-mmm高可用方案安装及配置
查看>>
WinForm窗体缩放动画
查看>>
JQuery入门(2)
查看>>
POI导出JavaWeb中的table到excel下载
查看>>
RAID 磁盘陈列详解
查看>>
公司组网核心、汇聚、接入层交换机配置
查看>>
linux文件描述符
查看>>