python中怎么使用sm4算法
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"python中怎么使用sm4算法",在日常操作中,相信很多人在python中怎么使用sm4算法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"pytho
千家信息网最后更新 2026年11月03日python中怎么使用sm4算法
这篇文章主要介绍"python中怎么使用sm4算法",在日常操作中,相信很多人在python中怎么使用sm4算法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"python中怎么使用sm4算法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
国密sm4
sm4 算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
GmSSL
GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法、项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用。
python程序
from gmssl.sm4 import CryptSM4, SM4_ENCRYPT, SM4_DECRYPTimport binasciifrom heapq import heappush, heappopfrom collections import OrderedDictclass SM4: """ 国密sm4加解密 """ def __init__(self): self.crypt_sm4 = CryptSM4() def str_to_hexStr(self, hex_str): """ 字符串转hex :param hex_str: 字符串 :return: hex """ hex_data = hex_str.encode('utf-8') str_bin = binascii.unhexlify(hex_data) return str_bin.decode('utf-8') def encrypt(self, encrypt_key, value): """ 国密sm4加密 :param encrypt_key: sm4加密key :param value: 待加密的字符串 :return: sm4加密后的hex值 """ crypt_sm4 = self.crypt_sm4 crypt_sm4.set_key(encrypt_key.encode(), SM4_ENCRYPT) encrypt_value = crypt_sm4.crypt_ecb(value.encode()) # bytes类型 return encrypt_value.hex() def decrypt(self, decrypt_key, encrypt_value): """ 国密sm4解密 :param decrypt_key:sm4加密key :param encrypt_value: 待解密的hex值 :return: 原字符串 """ crypt_sm4 = self.crypt_sm4 crypt_sm4.set_key(decrypt_key.encode(), SM4_DECRYPT) decrypt_value = crypt_sm4.crypt_ecb(bytes.fromhex(encrypt_value)) # bytes类型 return self.str_to_hexStr(decrypt_value.hex()) str_data = {"ffffffwsdwefewd": "fefefewfwrv", "qazqaz": "vfbfrbgtrnujy"} key = "3l5butlj26hvv313" SM4 = SM4() print("待加密内容:", str_data) encoding = SM4.encrypt(key, str_data) print("国密sm4加密后的结果:", encoding) print("国密sm4解密后的结果:", SM4.decrypt(key, encoding))python结果
到此,关于"python中怎么使用sm4算法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
算法
加密
密钥
字符
字符串
学习
结果
商业
更多
类型
结构
长度
分组
帮助
应用
实用
相同
接下来
产品
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
西安纸贵互联网科技有限公司
中关村互联网科技集团
互联网科技公司电话
亿账通互联网科技
互联网科技logo设计
互联网科技宣传片
成都狮子座互联网科技
银川新华互联网科技学校地址
北京三清互联网科技
互联网金融科技公司干啥的
福建科技产业互联网发展
深圳艾果互联网通讯科技
卓翼科技产业互联网合作
互联网金融科技名词解释
北京市互联网新科技
广州富喜互联网络科技
互联网领先科技宣传片
萌小萌互联网科技河南有限公司
保山浩联互联网科技有限公司
什么是科技互联网
美国互联网科技
苏州大垚互联网科技
美国互联网前沿科技
四个字互联网科技公司取名
字节跳动和互联网科技
金融科技与互联网金融相同和不同
21世纪互联网科技成就
福州德业互联网科技
第三届互联网大会安防黑科技