千家信息网

Python用AES&SHA1PRNG算法进行加密与解密

发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,本篇内容介绍了"Python用AES&SHA1PRNG算法进行加密与解密"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅
千家信息网最后更新 2025年02月24日Python用AES&SHA1PRNG算法进行加密与解密

本篇内容介绍了"Python用AES&SHA1PRNG算法进行加密与解密"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

python3 - AES SHA1PRNG 算法 加密 解密

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

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

#!/usr/bin/python# -*- coding: UTF-8 -*-'''python3 - AES SHA1PRNG 算法 加密 解密注,需安装以下依赖库:pip3 install pycryptodomepip3 install Crypto'''from Crypto.Cipher import AESimport 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(['x' % 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 pkcs5    ciphertext = cryptor.encrypt(padding_value)    return ''.join(['x' % 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用AES&SHA1PRNG算法进行加密与解密"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

加密 算法 代码 内容 字符 更多 核心 知识 实用 特殊 学有所成 接下来 写法 十六进制 十进制 原文 困境 字符串 实际 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全学习教育的重要性 网络安全报送审核制度 删除某一时间段的数据库表 网络安全行业报告分析 在虚拟服务器登qq会不会被封 山西浪潮服务器维修调试费用 ktv收银服务器后面有个u盘 网页源码传输到服务器 转序单打印数据库 微信开发 数据库 服务器运维人员管理系统 武汉爱科技网络技术有限公司 汽车网络安全测试设备 网络技术大赛试题 数据库快速录入数据 会计记账软件开发 网络安全分多少方面 上海智能化软件开发直销价格 湖南教育考试院高考录取数据库 互联网科技与实体商业的融合 软件开发自学优劣分析 都匀gpu云服务器加盟 荆棘谷服务器 安徽储物戒互联网科技有限公司 一张图看懂网络安全 女生学习网络技术好么 网络安全等级设置 服务器的应用镜像是什么意思 江苏微聚互联网络科技有限公司 小学观看网络安全警示教育片
0