**from Crypto.Cipher import AES
import base64
# 来自微信好友:一觉昏睡人
BLOCK_SIZE = 16  # Bytes
pad = lambda s: s + (BLOCK_SIZE - len(s) % BLOCK_SIZE) * \chr(BLOCK_SIZE - len(s) % BLOCK_SIZE)
unpad = lambda s: s[:-ord(s[len(s) - 1:])]
# 加密
def aesEncrypt(key, data):'''AES的ECB模式加密方法:param key: 密钥:param data:被加密字符串(明文):return:密文'''key = key.encode('utf8')# 字符串补位data = pad(data)cipher = AES.new(key, AES.MODE_ECB)# 加密后得到的是bytes类型的数据,使用Base64进行编码,返回byte字符串result = cipher.encrypt(data.encode())encodestrs = base64.b64encode(result)enctext = encodestrs.decode('utf8')print(enctext)return enctext
# 解密
def aesDecrypt(key, data):''':param key: 密钥:param data: 加密后的数据(密文):return:明文'''key = key.encode('utf8')data = base64.b64decode(data)cipher = AES.new(key, AES.MODE_ECB)# 去补位text_decrypted = unpad(cipher.decrypt(data))text_decrypted = text_decrypted.decode('utf8')print(text_decrypted)return text_decryptedif __name__ == '__main__':key = 'abcdefghijklmnop'data = '962464lala'ecdata = aesEncrypt(key, data)**

python AES中EBC模式加密相关推荐

  1. Python实现AES中ECB模式pkcs5padding填充加密/解密(需要加密文档中可以有中文)

    Python实现AES中ECB模式pkcs5padding填充加密/解密(需要加密文档中可以有中文) 一.本文主要解决的问题 二.完整版代码 结果: 三.遇到的问题 1.填充格式错误 2.传入类型错误 ...

  2. Python base64 + AES EBC模式加密

    """ 先进行Base64加密,再进行AES ecb模式加密:EBC 模式需要补全 """ ''' ECB模式补足16位 ''' def a ...

  3. python aes加密 cbc_Python实现AES的CBC模式加密和解密过程详解 和 chr() 函数 和 s[a:b:c] 和函数lambda...

    1.chr()函数 chr() 用一个范围在 range(256)内的(就是0-255)整数作参数,返回一个对应的字符. 2.s[a:b:c] s=(1,2,3,4,5) 1>. s[a]下标访 ...

  4. python aes new_python 实现aes256加密

    基础知识 # 在Linux操作系统下,Python3的默认环境编码变为了utf-8编码,所以在编写代码的时候,字符串大部分都是以utf-8处理 UTF-8: 1byte = 8bit 1个英文字符 = ...

  5. python可逆加密算法_常见加密方式及Python实现

    由于计算机软件的非法复制,通信的泄密.数据安全受到威胁,所以加密在开发过程中是经常使用到的技术,在一些重要场景中都有所应用,如:登录.支付.oauth等,场景不同需要搭配不一样的签名加密算法来达到业务 ...

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

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

  7. SpringBoot+Vue中使用AES进行加解密(加密模式等对照关系)

    场景 若依前后端分离版本地搭建开发环境并运行项目的教程: 若依前后端分离版手把手教你本地搭建环境并运行项目_霸道流氓气质的博客-CSDN博客 在上面搭建起来前后端架构之后,在前后端分别进行AES方式的 ...

  8. python aes加密 cbc_【转载】python AES CBC模式加密

    今天需要用到AES CBC模式加密,搜索了很久,终于加密成功,记录一下今天的理解. 首先要安装pycrypto库,不知道为什么在windows安装失败,在linux可以正常安装 这里有几点要注意,ke ...

  9. Python - AES SHA1PRNG 加密解密总结

    Python - AES SHA1PRNG 加密解密总结 Max.Bai 2020-11 上篇文章是当时研究AES加密的时候的记录,来龙去脉可以取看这篇 python3 - AES 加密实现java中 ...

最新文章

  1. JAVA中的枚举小结
  2. torch标记维度最大
  3. pandas纵向合并数据
  4. matlab模拟三体运动_从灯泡到超级计算机,如何模拟浩瀚星空?| 赛先生
  5. 教授因被指控“奴役”博士生遭学校解雇,反手将学校告上法庭并获赔偿...
  6. SoftWater——SDN+UnderWater系列论文一
  7. 基于Jupyter Notebook---卷积神经网络的图像分类(keras对猫狗图像数据集进行分类)
  8. nginx 常用优化
  9. 解决MATLAB不能设置为.m .slx .mat等文件默认打开方式
  10. 软件开发价格估算方法
  11. 【研究】人大赵鑫老师报告:如何以初学者角度写好一篇国际学术论文?
  12. 给设计师的建设性反馈
  13. 最畅销的销售书籍推荐:《销售管理必读12篇》
  14. vue实现文字翻转效果
  15. out of synch 不同步是什么意思?
  16. Parameter 'cId' not found. Available parameters are [id, param1]
  17. 微信小程序趋势及前景,详细的Android学习指南
  18. jquery html添加背景图片,jquery动态更换设置背景图的方法
  19. java微信支付v3系列——1.微信支付准备工作
  20. 使用Python将多个单独的Excel文件整合到一个Excel文件的不同工作表里

热门文章

  1. Docker容器网络代理设置
  2. sql盲注 各种方法拿到 管理员账户和密码
  3. Slider Revolution 轮播滑块Wordpress插件下载
  4. 2018年总结与2019的计划
  5. MybatisX插件的使用
  6. mac下网络监测工具
  7. Java 中各种空(''、\u0000、null)的区别?
  8. could only be written to 0 of the 1 minReplication nodes. There are 0 datanode(s) running and 0 node
  9. EeePC各项硬件参数
  10. 关于gp和mysql的两点区别