import base64

from Crypto.Cipher import AES

'''

采用AES对称加密算法

'''

# str不是32的倍数那就补足为16的倍数

def add_to_32(value):

while len(value) % 32 != 0:

value += '\0'

return str.encode(value) # 返回bytes

def add_to_16(value):

while len(value) % 16 != 0:

value += '\0'

return str.encode(value) # 返回bytes

#加密方法

def encrypt_oracle(text):

# 秘钥

key = 'VW1lMjAxMlRyaXAwMzA5AA=='

# 待加密文本

# 初始化加密器

aes = AES.new(add_to_16(key), AES.MODE_ECB)

#先进行aes加密

encrypt_aes = aes.encrypt(add_to_16(text))

#用base64转成字符串形式

encrypted_text = str(base64.encodebytes(encrypt_aes), encoding='utf-8') # 执行加密并转码返回bytes

print(encrypted_text)

return encrypted_text

#解密方法

def decrypt_oralce(text):

# 秘钥

key = 'VW1lMjAxMlRyaXAwMzA5AA=='

# 密文

# 初始化加密器

aes = AES.new(add_to_16(key), AES.MODE_ECB)

#优先逆向解密base64成bytes

base64_decrypted = base64.decodebytes(text.encode(encoding='utf-8'))

#执行解密密并转码返回str

decrypted_text = str(aes.decrypt(base64_decrypted),encoding='utf-8').replace('\0','')

print('decrypted_text',decrypted_text)

return decrypted_text

if __name__ == '__main__':

text = '''{'aaa': '111', 'bbb': '222'}'''

entrypted_text = encrypt_oracle(text)

decrypt_oralce(entrypted_text)

注意key是16位或者32位的,选择对应的key加密函数。

参考:https://www.jianshu.com/p/717da8405002

python调用库函数用ecb模式加密图片_python 实现AES加密解密(ECB模式,配合base64)...相关推荐

  1. 使用Python调用opencv学习(-)打开图片,显示图片

    使用Python调用opencv学习(-)打开图片,显示图片 第一步是读取图片是用cv2.imread 第一个参数是图片的路径可以是绝对路径也可以是相对路径.第二个参数代表读取图片的格式 cv2.IM ...

  2. 基于python的文件加密传输_Python优雅的加密传输文件

    最近需要通过网络加密传输一些文件,首先想到的是RSA,公钥 + 私钥的搭配,不能再好. 2. 导入模块,创建密钥对. 3. 然后用公钥加密,用私钥解密. 运行结果如下 4. 如果只是简单的,小字符串的 ...

  3. python调用库函数用ecb模式加密图片_AES中ECB模式的加密与解密(Python3.7)

    本文主要解决的问题 本文主要是讲解AES加密算法中的ECB模式的加密解密的Python3.7实现.具体AES加密算法的原理这里不做过多介绍,想了解的可以参考文末的参考链接. 主要解决了两个问题: 在P ...

  4. python实现字母的加密和解密 字典_python实现AES加密与解密

    AES加密方式有五种:ECB, CBC, CTR, CFB, OFB 从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的python实现 python 在 Windows下使用AE ...

  5. python 加密解密_python实现AES加密解密

    本文实例为大家分享了python实现AES加密解密的具体代码,供大家参考,具体内容如下 (1)对于AES加密解密相关知识 (2)实现的功能就是输入0-16个字符,然后经过AES的加密解密最后可以得到原 ...

  6. python调用matlab环境配置、非常详细!!!_Python调用Matlab2014b引擎

    用惯Python的你,是不是早已无法忍受matplotlib那丑陋无比的图以及蛋疼无比部署依赖? 当当当当,Matlab2014b的Python Engine API现已加入豪华午餐. 上次写了一篇文 ...

  7. python编程模式是什么_python 开发的三种运行模式详细介绍

    Python 三种运行模式 Python作为一门脚本语言,使用的范围很广.有的同学用来算法开发,有的用来验证逻辑,还有的作为胶水语言,用它来粘合整个系统的流程.不管怎么说,怎么使用python既取决于 ...

  8. python调用shell该引用到什么类_python调用shell, shell 引用python

    标签: python 调用 shell get_line_num="wc -l as_uniq_info | awk '{print $1}'" ###get the lines ...

  9. python调用r语言加载包错误_Python调用R语言

    网络上经常看到有人问数据分析是学习Python好还是R语言好,还有一些争论Python好还是R好的文章.每次看到这样的文章我都会想到李舰和肖凯的<数据科学中的R语言>,书中一直强调,工具不 ...

最新文章

  1. PDD 笔试反思记录
  2. 比较正宗的验证邮箱的正则表达式js代码详解
  3. 浅谈Spring的AOP实现-代理机制
  4. createsamples.cpp中生成vec文件的实现及详细注释、图解——人脸识别的尝试系列(三)
  5. 【Python】Matplotlib绘制日期型时间序列图
  6. CVPR 2020 | 基于知识蒸馏的分块监督NAS
  7. 如何通过页面静态化提升论坛性能
  8. Page4:线性系统的运动求解以及脉冲响应矩阵与传递函数的关系[Linear System Theory]...
  9. SparkContext详述
  10. BerryBoot实现树莓派多系统切换
  11. SecureCRT 下载安装与连接(转)
  12. Quartus II下进行SignalTap仿真
  13. html怎么打开一个新窗口打开文件,js怎么打开新窗口
  14. EMOS邮件系统安装(光盘安装版)
  15. 全球IP将告罄,美国已摇号限购
  16. 每日一题:16. “气球” 的最大数量 (C++)
  17. kafka接口操作topic
  18. 华南农业大学计算机学院院长,华南农业大学外国语学院院长何高大
  19. html截取一部分作为图片,怎么截取文档的一部分
  20. 日本語トレーニング45

热门文章

  1. php 使用上传文件预览插件,bootstrap fileinput插件实现预览上传照片功能方法详解...
  2. 信用卡号校验java_ES reduce 一行代码解决信用卡号验证问题
  3. linuxpython源文件_如何在Linux中运行Python源文件
  4. python使用复合语句def创建函数对象_Python 纯函数
  5. oracle数据库通过SQL profile 绑定SQL最优执行计划(个人实践)
  6. Activity中四大启动模式
  7. 基于JAVA+SpringBoot+Mybatis+MYSQL的快递管理系统
  8. springboot项目报错JedisConnectionException: Could not get a resource from the pool
  9. 阶段1 语言基础+高级_1-2 -面向对象和封装_11使用对象类型作为方法的返回值
  10. jQuery仿京东首页广告图片切换图片轮播