数安商用密码
文档首页 / SM4 加密接口

SM4 加密接口

SM4-CBC/GCM/CTR 加解密 REST API 参考

撰写中

接口概述

SM4 是国密对称加密算法(分组长度 128 位),用于重要数据的机密性保护。平台提供 sm4_encrypt / sm4_decrypt 两个调用,密钥由平台或 KMS 托管,密钥不出密码边界,调用方只持有密钥 ID。

💡
下文代码与接口为示例,方法名与参数以你拿到的实际 SDK / 接口版本为准;需要真实接入凭证与文档请联系技术支持

调用方式

支持 SDK 与 RESTful 两种方式:

# Python SDK
from dscc import CryptoClient
client = CryptoClient(endpoint="https://your-host", app_id="...", app_secret="...")
cipher = client.sm4_encrypt(key_id="kms-key-001", plaintext="13800138000", mode="CBC")
plain  = client.sm4_decrypt(key_id="kms-key-001", ciphertext=cipher)
# REST(示意)
curl -X POST https://your-host/v1/crypto/sm4/encrypt \
  -H "Authorization: Bearer <token>" \
  -d '{"key_id":"kms-key-001","plaintext":"13800138000","mode":"CBC"}'

请求参数

参数类型必填说明
key_idstring密钥标识,指向平台/KMS 中的 SM4 密钥
plaintextstring待加密明文(加密时)
ciphertextstring待解密密文(解密时)
modestring分组模式,CBC(默认)/ ECB / GCM
ivstring初始向量,CBC/GCM 模式建议显式传入

返回与错误码

错误码含义处理建议
0成功
40101鉴权失败检查 app_id/app_secret 或 token
40301无该密钥权限确认 key_id 与应用授权
40020参数错误检查 mode / iv / 明文编码
每次调用平台自动记录审计日志(时间戳、调用方、密钥 ID、结果),满足密评审计要求。

相关:快速开始 · API 参考 · SM2 vs RSA 对比