zoukankan      html  css  js  c++  java
  • 对字符串进行base64加解密---基于python

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

    当前接口基于rfc3548的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('ixb7x1dxfbxefxff')
    abcd++// 
    >>> 
    >>> print base64.b64encode('ixb7x1dxfbxefxff', '-_') 
    abcd--__ 
    >>> 
    >>> print base64.urlsafe_b64encode('ixb7x1dxfbxefxff') 
    abcd--__ 
    >>>
    >>> base64.urlsafe_b64decode('adcd--__') 
    'ixb7x1dxfbxefxff'

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

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

      

    Base16编解码:

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

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

  • 相关阅读:
    详解MathType中如何插入特殊符号
    详解如何将MathType嵌入word中
    MathType公式编辑器快捷键操作
    MathType初级教程:怎么安装MathType
    AOPR密码过滤器
    教您如何在Word的mathtype加载项中修改章节号
    在word文档中如何插入Mathtype公式
    详解MathType中如何更改公式颜色
    静态缓存和动态缓存
    ThinkPHP U函数生成URL伪静态
  • 原文地址:https://www.cnblogs.com/VseYoung/p/base64.html
Copyright © 2011-2022 走看看