背景介绍
随着国家对信息安全的重视程度不断提升,国密算法(如SM2、SM3、SM4)在各类政务系统和企业级应用中得到了广泛使用。本文将详细介绍一个基于 Python 实现的国密 SM4 ECB 模式加解密工具类,该工具专为对接乐企平台 的数据传输安全需求设计,适用于需采用国密算法进行数据加密与解密的场景。
二、功能概述
本工具类主要实现以下功能:
- 十六进制字符串转字节数组
- SM4 ECB 模式加密
- SM4 ECB 模式解密
- 支持 Base64 编码输出,便于在网络传输中使用
- 可直接用于乐企平台接口请求参数的加密及响应内容的解密
三、技术栈说明
- 使用 Python3 编写
- 依赖库:
gmssl
(支持国密 SM2/SM3/SM4 算法) - 加密模式:ECB
安装依赖:
pip install gmssl
四、代码解析
1. 工具类定义:[SM4ECBUtils]
class SM4ECBUtils:
...
该类为静态方法类,无需实例化即可调用其加解密方法。
2. 十六进制转字节方法:[hex_to_bytes]
@staticmethod
def hex_to_bytes(hex_str):
return bytes