• AES(高级加密)


    AES(高级加密)

    #3.6安装  pip3 install pycryptodome
    #mac     pip3 install pycrypto
    

    a. 事例: 

    ############################### 加密 ##############################
     
        from Crypto.Cipher import AES
        def encrypt(message):
            key = b'dfdsdfsasdfdsdfs'                       #key必须是16的整数倍
            cipher = AES.new(key, AES.MODE_CBC, key)        #创建对象
            ----------------------------------------------
            #先转成字节,把数据拼够16字节的整数倍
            ba_data = bytearray(message,encoding='utf-8')   #把数据转成bytearray(byte的数组),bytearray只能追加数字,默认把数字转成字节
            v1 = len(ba_data)
            v2 = v1 % 16
            if v2 == 0:
                v3 = 16
            else:
                v3 = 16 - v2                                #v3是追加的长度
            for i in range(v3):
                ba_data.append(v3)                          #bytearray只能追加数字,默认把数字转成字节
            final_data = ba_data.decode('utf-8')
            ----------------------------------------------
            msg = cipher.encrypt(final_data)                #要加密的字符串,必须是16个字节或16个字节的倍数,加密后是byte格式
            return msg
     
    ############################### 解密 ##############################
        def decrypt(msg):
            key = b'dfdsdfsasdfdsdfs'
            cipher = AES.new(key, AES.MODE_CBC, key)
            result = cipher.decrypt(msg)                    #把加密后的字节解密成不加密的字节
            data = result[0:-result[-1]]
            return str(data,encoding='utf-8')
    

    wuSir  

     

  • 相关阅读:
    第二章--MYSQL体系结构和管理
    第一章 -- MySQL简介及安装
    CentOS 7.5静默安装oracle 11g
    tomcat日志
    配置常用远程源
    mybatis与ibatis--个人总结。
    单纯的简单的ibatis
    一些缩写词
    单纯的简单的mybatis有注解
    单纯的简单的mybatis无注解
  • 原文地址:https://www.cnblogs.com/niejinmei/p/7286819.html
Copyright © 2020-2023  润新知