精华内容
下载资源
问答
  • python编写base64加密解密
    2022-02-22 13:52:35

    base64加密解密

    前言

    最近做题一直遇到一些base64代码解码,便想着自己写一个可以进行加密解密的脚本,自己使用

    脚本代码

    脚本如下:

    import base64
    def b64encode():#定义一个加密函数
        a = input("base64加密:")#input()函数接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
        encode = base64.b64encode(a.encode('utf-8'))#因为3.x中字符都为unicode编码,而b64encode函数的参数为byte类型,所以必须先转码
        print(("**********encryption complete**********\n:"),str(encode,'utf-8'))#将byte转换回去就好了,如果不转的化,输出结果会被字符串b包围
        return "****************************************"
        
    def b64decode():#定义一个解码函数
        b = input("base64解码:")    
        decode = base64.b64decode(b)               
        print(("**********Decoding complete**********\n:"),str(decode,'utf-8')) 
        return "****************************************"
    
    a = 0
    while a == 0:#设置第一个循环
        print("<<< 选择 >>>\n--加密--\n--解码--\n--退出--")
        user = input(":")
        while (user !='加密' and user !='解码' and user != "退出" ):#设置第二个循环,设置循环条件如果不等于这些条件                                     
            print("输入错误!请重新输入:")                           #就一直会在 print("输入错误!请重新输入:")循环
            user=input(":")
    
        if user == '加密':#如果输入的字符等于加密就执行下一个条件,进行加密
            c = b64encode()
            print(c)
        if user == '解码':#如果输入的字符等于解码就执行下一个条件,进行解码
            b = b64decode()
            print(b)
        if user == '退出':#输入退出则跳出循环,退出程序
            break
    print("已退出")
    
    
    更多相关内容
  • python3.x实现base64加密和解密,供大家参考,具体内容如下 加密 base64_encrypt.py #!/usr/bin/python3 #encoding:utf-8 import base64 var = 1 while var==1: str_encrypt=input(输入要加密的字符串:\n); ...
  • 本文实例讲述了Python简单实现Base64编码和解码的方法。分享给大家供大家参考,具体如下: Base64编码是一种“防君子不防小人”的编码方式。广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位...
  • 主要介绍了Python实现base64编码的图片保存到本地功能,涉及Python针对base64编码解码与图形文件输出保存相关操作技巧,需要的朋友可以参考下
  • 本文实例讲述了pythonbase64加密解密方法。分享给大家供大家参考。具体分析如下: 一、base64 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应...
  • # 看到iBV 99%的情况下是png经过base64加密 太强了 with open("E://桌面/校园帮.png", 'rb') as f: content = f.read() entxt = base64.b64encode(content) with open("E://桌面/图11.txt", 'w') as

    看到以iBV开头的乱码99.99%的情况下是图片的Baes64加密,例如

    在这里插入图片描述

    图片转Base64

    import base64
    # 对图片进行二进制B64加密
    # 看到iBV   99%的情况下是png经过base64加密  太强了
    with open("E://桌面/校园帮.png", 'rb') as f:
        content = f.read()
        entxt = base64.b64encode(content)
        with open("E://桌面/图11.txt", 'w') as ff:
            ff.write(str(entxt))  # 必须强制转成字符串才能写入
    

    写入的加密数据可能开头有b’或者data:image/png;base64, 在对其进行解密转换图片的时候一定要删去这一部分
    在这里插入图片描述

    Base64转图片

    # 解密然后转化成图片
    with open("E://桌面/图11.txt", 'r') as f:
        txt = f.read()  # 字符串
        imagedata = base64.b64decode(txt)
        with open("E://桌面/图1.jpg", 'wb') as png:
            png.write(imagedata)
    
    

    效果如图:

    **加粗样式**

    展开全文
  • Python内置的base64模块可以实现base64base32、base16、base85、urlsafe_base64的编码解码,python 3.x通常输入输出都是二进制形式,2.x可以是字符串形式。 base64模块的base64编码、解码调用了binascii模块,...
  • 主要介绍了python base64库给用户名或密码加密,需要的朋友可以参考下
  • 今天来看一下base64加密函数的使用,以及Python2与Python3中的不同。 一、base64 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。...

    今天来看一下base64加密函数的使用,以及Python2与Python3中的不同。

    一、base64

    Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9 ,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。编码后的数据比原始数据略长,为原来的4/3。

    Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据(或不可打印的字符串)。包括MIME的email,email via MIME, 在XML中存储复杂数据.

    在邮件中的用途:

    在MIME格式的电子邮件中,base64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本。使用时,在传输编码方式中指定base64。使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符,等号“=”用来作为后缀用途。

    在URL中的用途:

    标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。

    为解决此问题,可采用一种用于URL的改进Base64编码,它不在末尾填充’='号,并将标准Base64中的“+”和“/”分别改成了“*”和“-”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式。

    另有一种用于正则表达式的改进Base64变种,它将“+”和“/”改成了“!”和“-”,因为“+”,“*”在正则表达式中都可能具有特殊含义。

    二、python中使用

    Python2 和 Python3 在base64处理上是不同的,Python3下传入的参数不能是Unicode字符串,需要进行转换

    Python2:

    Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
    [GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import base64
    >>> str = 'pythontab.com'
    >>> base64.b64encode(str)
    'cHl0aG9udGFiLmNvbQ=='
    >>> base64.b64decode('cHl0aG9udGFiLmNvbQ==')
    'pythontab.com'
    >>>
    

    Python3:

    
    Python 3.5.2 (default, Aug 24 2016, 16:48:29) 
    [GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import base64
    >>> str = 'pythontab.com'
    >>> bytesStr = str.encode(encoding='utf-8')
    >>> bytesStr.decode()
    'pythontab.com'
    >>> b64str = base64.b64encode(bytesStr)
    >>> b64str
    b'cHl0aG9udGFiLmNvbQ=='
    >>> base64.b64decode(b64str)
    b'pythontab.com'
    >>>
    

    注意:

    首先要搞清楚,字符串在Python内部的表示是unicode编码.

    因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

    decode的作用是将其他编码的字符串转换成unicode编码,

    如str1.decode(‘gb2312’),表示将gb2312编码的字符串转换成unicode编码。

    encode的作用是将unicode编码转换成其他编码的字符串,

    如str2.encode(‘gb2312’),表示将unicode编码的字符串转换成gb2312编码。

    三、其他的方法

    base64.b64encode(s[, altchars])

    base64.b64decode(s[, altchars])

    altchars为可选的参数,用来替换+和/的一个两个长度的字符串。

    base64.urlsafe_b64encode(s)

    base64.urlsafe_b64decode(s)

    此方法中用-代替了+,用_代替了/ ,这样可以保证编码后的字符串放在url里可以正常访问

    base64.b32encode(s)

    base64.b32decode(s[, casefold[, map01]])

    base64.b16encode(s)

    base64.b16decode(s[, casefold])

    展开全文
  • python 对数据进行base64加密、解密

    千次阅读 2021-07-26 15:57:02
    import base64 # 明文字符串 origin_str = '明天晚上8点动手!' # -----加密----- # 实例化base64对象 bytes(二进制)类型 obj = base64.b64encode(origin_str.encode()) # decode()转化为str类型 plaintext_...
    import base64
    
    # 明文字符串
    origin_str = '明天晚上8点动手!'
    
    # -----加密-----
    
    # 实例化base64对象 bytes(二进制)类型
    obj = base64.b64encode(origin_str.encode())
    
    # decode()转化为str类型
    plaintext_result =obj.decode()
    print('加密后: {}' .format(plaintext_result))
    
    # -----解密-----
    #bytes类型
    ciphertext_str = base64.b64decode(plaintext_result)
    
    # decode()转化为str类型
    result = ciphertext_str.decode()
    print('解密后: {}' .format(result))
    
    

    在这里插入图片描述

    展开全文
  • python3.x实现base64加密和解密

    万次阅读 2018-05-29 18:09:14
    python3.x实现base64加密和解密 加密 base64_encrypt.py #!/usr/bin/python3 #encoding:utf-8 import base64 var = 1 while var==1: str_encrypt=input(&quot;输入要加密的字符串:\n&quot;); base...
  • 原本是想写一个多功能的格式转换工具来着,其他部分还没想好怎么写 所以就先写一个base64的工具好了
  • python3 base64加密

    千次阅读 2018-12-25 09:43:10
    python3 base64加密第一种写法(通过字符串提取) #方法一 import base64 a = 'testzifuchuan' jm = base64.b64encode(a.encode('utf-8')) b = str(jm) print(b[2:-1]) 输出结果 对于python3,你如果写成了...
  • python base64数据加密

    2019-08-05 14:57:36
    base64数据加密,是一种可逆的编码格式,生成的编码是ascii格式的数据,通过encode加密,decode解密。原理: 1、将所有字符转化为ASCII码。 2、将ASCII码转化为8位二进制 。 3、将二进制3个归成一组(不足3个在后边补...
  • pythonbase64加解密

    2021-05-02 01:19:57
    1、什么是Base64 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2^6=64,所以每6个比特为...2、python中的base64模块 Base64模块真正用得上的方法只有8个,分别是: encode, decode为一组, 专门用
  • 学习闲暇时间,把写代码过程中比较常用的内容收藏起来,下面的代码是关于pythonbase64加密解密方法的代码,应该是对码农有用。C:Python27>pythonPython 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64...
  • import base64 yh='你好,python!' bm=base64.b64encode(yh.encode('utf8')) print(bm) # 结果:5L2g5aW977yMcHl0aG9uIQ== lx='5L2g5aW977yMcHl0aG9uIQ==' # 解码 aa=base64.b64decode(lx).decode('utf-8') bb=...
  • pythonbase64加密和解密

    万次阅读 2018-10-20 19:56:42
    base64加密和解密有点头疼,必须要记录下来,以后忘了也能再来复习下 当然啦,能一直记住是最好的…加油吧,少年(其实已经好老了) 操作环境 win10,python3 base的原理 这个还是别人讲的好,详情请看:Base64编码原理与...
  • Python使用base64加密

    2020-08-27 16:56:01
    Python使用base64加密
  • import base64 # 用户登录校验, 读取密码文件进行比对 def login(username, password): f = open("db", 'r') # 读文件 list1 = [] list2 = [] for line in f: line = line.strip(...
  • Python base64加密解密

    2019-05-13 11:41:11
    # base64加密 str_a = 'Python base64模块' b = base64.b64encode(str_a.encode()) # 传入的是字节,需要encode()编码,不然报错TypeError: a bytes-like object is required, not 'str' print(b,ty...
  • Python实现base64编码解码

    千次阅读 2021-02-03 23:06:52
    Python实现base64编码解码通过编程了解base64编码解码过程 (纯属无聊之举,且不支持汉字)a = input("输入(1.base64加密/2.base64解密):")base64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz...
  • AES只是个基本算法,实现AES有几种模式,主要有ECB、CBC、CFB和OFB这几种(其实还有个CTR): 1.ECB模式(电子密码本模式:Electronic codebook) ECB是最简单的块密码加密模式,加密前根据加密块大小(如AES为128位...
  • Pythonbase64加密解密

    千次阅读 2019-04-17 17:50:54
    import base64 msg = 'good night 李明' msg = msg.encode('utf-8') # 加密 bs64 = base64.b64encode(msg) print(bs64) # 结果是 b'Z29vZCBuaWdodA==' # 解密 debs64 = base64.b64decode(bs64) debs64 = debs64....
  • Python base64加密与解密

    千次阅读 2020-05-01 14:55:13
    base64.b64decode(加密字符串) import base64 string1 = "hello world" # 需要转成2进制格式才可以转换 result = base64.b64encode(string1.encode()) print('加密:'+str(result)) # 再把加密后的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,272
精华内容 12,108
关键字:

python实现base64加密