sm3_hash函数
函数名:sm3_hash
函数功能
对输入的字符串执行国密SM3哈希算法计算,支持Base64、Hex两种格式输出哈希结果,满足数据加密、摘要生成的场景需求。
参数规范
| 参数名 | 类型 | 必填 | 示例 | 特殊说明 |
|---|---|---|---|---|
input | String | 是 | "测试数据123" | 支持直接文本或单元格引用 |
outputFormat | Int | 否 | 0/1 | 0=Base64(默认),1=Hex |
使用案例
默认Base64格式哈希计算
问题描述:使用默认格式计算字符串SM3哈希值 公式演示:
excel
=sm3_hash("测试数据123")输出效果:
text
BVqgyVCOgKCKSyxo7MawIstVaS1b2fprkol2xhyjC90=Hex格式哈希计算
问题描述:指定格式为Hex计算单元格内文本的SM3哈希值 公式演示:
excel
=sm3_hash(A1,1)输出效果(当A1="测试数据123"):
text
055aa0c9508e80a08a4b2c68ecc6b022cb55692d5bd9fa6b928976c61ca30bdd技术说明
算法与格式规则
- 算法:采用国密标准SM3哈希算法,生成256位哈希摘要
- 输出格式:0=Base64编码字符串(默认),1=小写十六进制字符串
异常处理
| 错误场景 | 返回值 |
|---|---|
| 空文本/空输入 | #VALUE! |
| 非文本参数 | #VALUE! |
| 格式参数非数字 | #VALUE! |
| 计算异常 | #VALUE! |
扩展应用
数据完整性校验
excel
=sm3_hash(A1)=B1 // 对比哈希值,校验数据是否被篡改批量文本哈希生成
excel
=sm3_hash(C2:C100,1) // 批量计算区域内文本的Hex格式SM3哈希注:本函数在WPS 2019+和Excel 365中测试通过