因工作需要,需要对aes进行加解密,收集资料时从网上找到了核心写法代码,经小量修改满足了需求。

核心加、解密代码来自原文: https://blog.csdn.net/max229max/article/details/87639613

#!/usr/bin/python
# -*- coding: UTF-8 -*-
'''
python3 - AES SHA1PRNG 算法 加密 解密
注,需安装以下依赖库:
pip3 install pycryptodome
pip3 install Crypto
'''from Crypto.Cipher import AES
import hashlibBS = AES.block_sizedef padding_pkcs5(value):return str.encode(value + (BS - len(value) % BS) * chr(BS - len(value) % BS))# 将十进制转换为十六进制
def get_sha1prng_key(key):signature = hashlib.sha1(key.encode()).digest()signature = hashlib.sha1(signature).digest()return ''.join(['%02x' % i for i in signature]).upper()[:32]# 加密
def encrypt(key:str,value:str) -> str:cryptor = AES.new(bytes.fromhex(key), AES.MODE_ECB)padding_value = padding_pkcs5(value)  # padding content with pkcs5ciphertext = cryptor.encrypt(padding_value)return ''.join(['%02x' % i for i in ciphertext]).upper()# 解密
def decrypt(key:str, value:str) -> str:''' AES/ECB/NoPadding decrypt '''key = bytes.fromhex(key)cryptor = AES.new(key, AES.MODE_ECB)ciphertext = cryptor.decrypt(bytes.fromhex(value))return padding_zero(str(ciphertext, "utf-8"))# 字符串处理,过滤特殊字符
def padding_zero(value):list = []for c in value:# ascii码范围获取if ord(c) > 31 & ord(c) < 127:list.append(c)return ''.join(list)if __name__ == '__main__':key = 'cce33fa1-9496-4796-8a32-f84e65dcb056'content = 'test_data_10086'edb = encrypt(get_sha1prng_key(key),content)print(content +'='+ edb)ddb = decrypt(get_sha1prng_key(key),edb)print(edb +'='+ ddb)

Python基于AESSHA1PRNG 算法 加密与解密相关推荐

  1. base64编码 vba_VB VBA ASP 可通用的基于Base64进行加密和解密的函数

    VB VBA ASP 可通用的基于Base64进行加密和解密的函数 可用于Access VBA 以及 Excel VBA对字符串 数据甚至文本文件进行加密和解密,以保证您数据的安全. 先创建一个模块, ...

  2. Python基于聚类算法实现密度聚类(DBSCAN)计算

    本文实例讲述了Python基于聚类算法实现密度聚类(DBSCAN)计算.分享给大家供大家参考,具体如下: 算法思想 基于密度的聚类算法从样本密度的角度考察样本之间的可连接性,并基于可连接样本不断扩展聚 ...

  3. 实用脚本!利用 Python 对 PDF 进行加密、解密操作,代码拿走就用!

    来源/早起Python 本文将分享如何利用 Python 对 PDF 进行加密和解密操作,主要利用到之前多次介绍过的PyPDF2 模块. PDF 加密 在之前的文章PDF合并.拆分.水印.加密中简单提 ...

  4. 基于Python实现的RSA加密和解密算法

    目录 第 一部分 RSA 加密和解密算法 1 算法原理 1 1.1 RSA 原理概述 1 用中国剩余定理CRT对RSA运算进行加 2 代码实现 2 2.1 RSA 代码实现 2 2.2 CRT-RSA ...

  5. 黑客学习-密码学:基于openssl的算法加密和解密

    在Linux系统中自带openssl工具,加密和解密,可以在Linux上进行.利 openssl工具,用DES.3DES.IDEA.AES等对称算法对文件加密解密,和用RSA非对称算法对文件加密解密. ...

  6. 国密算法:利用python进行sm4算法的加解密,对称密钥

    本篇利用python中的gmssl库进行sm4算法的加解密演示. 国密算法sm4特点: 密钥长度:16bytes(128bits) 分组长度和密钥长度均为128bits: 是对称加密算法:分为ecb模 ...

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

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

  8. JavaScript实现AES算法加密和解密

    JavaScript的加密和解密用的是google的CryptoJS库.本文以AES/ECB/NoPadding为例展示AES加密和解密的方法. 需要下载CryptoJS库,下载地址如下: https ...

  9. python实现字母的加密和解密 字典_利用Python产生加密表和解密表的实现方法

    序言: 这是我第一次写博客,有不足之处,希望大家指出,谢谢! 这次的题目一共有三个难度,分别是简单,中等偏下,中等.对于一些刚刚入门的小伙伴来说,比较友好.废话不多说,直接进入正题. 正文: 简单难度 ...

最新文章

  1. Python代码加密,将python文件编译成so文件
  2. MapReduce概述
  3. Kendo UI Professional Q3 2015 Beta发布[附下载]
  4. mysql系统属性_mysql 显示表字段及mysql系统信息
  5. 苹果cms仿ZzzFun动漫视频站PC模板
  6. gsp计算机软件管理,米多GSP管理系统
  7. matlab 三维转二维,求助,二维图像如何绕轴旋转成为三维图像
  8. PCL计算点到直线距离
  9. java车辆使用管理系统_JAVA车辆管理系统,基于SSM框架的系统
  10. HowTo 激活非常规方式安装的正版OEM Vista
  11. 【BP-GA】基于GA的BP神经网络优化算法
  12. 首个非逆向,不需要手机!的微信视频号采集方案
  13. 20个非常有用的单行Python代码
  14. Python之input()函数用法,如何接收单行或多行的输入多个参数
  15. Android6.0 usb默认MTP模式的修改方法
  16. 融合CV和NLP的视觉语义导航
  17. 网站广告效果评测指标介绍
  18. 葡萄城ComponentOne全功能开发控件套包发布2017V3 新版本
  19. 搭建Maven私服(nexus)-windows版
  20. java指纹识别+谷歌图片识别技术_源代码

热门文章

  1. @升本毕业生,档案转移流程,赶紧了解一下
  2. 【adb 打开图片】
  3. sqlserver 附加数据库时出错
  4. 模型量化中的KL散度扫盲
  5. Android图形处理--PorterDuff.Mode那些事儿
  6. 海康9000 DVR的配置信息
  7. 【Python】You are using pip version 9.0.1, however version 23.0.1 is available.
  8. Pytorch+Python实现人体关键点检测
  9. 解决Mixed Content: The page at https://* was loaded over HTTPS, but requested an insecure XMLHttpReque
  10. 一代经典销声匿迹:WinXP彻底再见了!