当前位置: 首页 > news >正文

LuatOS-SOC接口文档(air780E)-- gmssl - 国密算法

sm.sm2encrypt(pkx,pky,data)#

sm2算法加密

参数

传入值类型

解释

string

公钥x,必选

string

公钥y,必选

string

待计算的数据,必选,最长255字节

返回值

返回值类型

解释

string

加密后的字符串, 原样输出,未经HEX转换

例子

local originStr = "encryption standard"
local pkx = "435B39CCA8F3B508C1488AFC67BE491A0F7BA07E581A0E4849A5CF70628A7E0A"
local pky = "75DDBA78F15FEECB4C7895E2C1CDF5FE01DEBB2CDBADF45399CCF77BBA076A42"
local private = "1649AB77A00637BD5E2EFE283FBF353534AA7F7CB89463F208DDBC2920BB0DA0"
local encodeStr = gmssl.sm2encrypt(pkx,pky,originStr)
print(originStr,"encrypt",string.toHex(encodeStr))
log.info("testsm.sm2decrypt",gmssl.sm2decrypt(private,encodeStr))

sm.sm2decrypt(private,data)

sm2算法解密

参数

传入值类型

解释

string

私钥,必选

string

待计算的数据,必选

返回值

返回值类型

解释

string

解密后的字符串,未经HEX转换

例子

local originStr = "encryption standard"
local pkx = "435B39CCA8F3B508C1488AFC67BE491A0F7BA07E581A0E4849A5CF70628A7E0A"
local pky = "75DDBA78F15FEECB4C7895E2C1CDF5FE01DEBB2CDBADF45399CCF77BBA076A42"
local private = "1649AB77A00637BD5E2EFE283FBF353534AA7F7CB89463F208DDBC2920BB0DA0"
local rand = "4C62EEFD6ECFC2B95B92FD6C3D9575148AFA17425546D49018E5388D49DD7B4F"
local encodeStr = gmssl.sm2encrypt(pkx,pky,rand,originStr)
print(originStr,"encrypt",string.toHex(encodeStr))
log.info("testsm.sm2decrypt",gmssl.sm2decrypt(private,encodeStr))

sm.sm3(data)

sm3算法,算HASH值

参数

传入值类型

解释

string

待计算的数据,必选

返回值

返回值类型

解释

string

对应的hash值

例子

local encodeStr = gmssl.sm3("lqlq666lqlq946")
log.info("testsm.sm3update",string.toHex(encodeStr))

sm.sm3hmac(data, key)

sm3算法,算HASH值,但带HMAC

参数

传入值类型

解释

string

待计算的数据,必选

string

密钥

返回值

返回值类型

解释

string

对应的hash值

例子

local encodeStr = gmssl.sm3hmac("lqlq666lqlq946", "123")
log.info("testsm.sm3update",string.toHex(encodeStr))

gmssl.sm4encrypt(mode,padding,originStr,password)

SM4加密算法

参数

传入值类型

解释

string

加密模式, CBC或ECB

string

填充方式, NONE/ZERO/PKCS5/PKCS7

string

加密的字符串

string

密钥

返回值

返回值类型

解释

string

加密后的数据

例子

local originStr = "AES128 ECB ZeroPadding test"
--加密模式:ECB;填充方式:ZeroPadding;密钥:1234567890123456;密钥长度:128 bit
local encodeStr = gmssl.sm4encrypt("ECB","ZERO",originStr,"1234567890123456")
print(originStr,"encrypt",string.toHex(encodeStr))
log.info("testsm.decrypt",gmssl.sm4decrypt("ECB","ZERO",encodeStr,"1234567890123456"))originStr = "AES128 ECB Pkcs5Padding test"
--加密模式:ECB;填充方式:Pkcs5Padding;密钥:1234567890123456;密钥长度:128 bit
encodeStr = gmssl.sm4encrypt("ECB","PKCS5",originStr,"1234567890123456")
print(originStr,"encrypt",string.toHex(encodeStr))
log.info("testsm.decrypt",gmssl.sm4decrypt("ECB","PKCS5",encodeStr,"1234567890123456"))originStr = "AES256 CBC Pkcs5Padding test"
--加密模式:CBC;填充方式:Pkcs5Padding;密钥:1234567890123456;密钥长度:256 bit;偏移量:1234567890666666
encodeStr = gmssl.sm4encrypt("CBC","PKCS5",originStr,"1234567890123456","1234567890666666")
print(originStr,"encrypt",string.toHex(encodeStr))
log.info("testsm.decrypt",gmssl.sm4decrypt("CBC","PKCS5",encodeStr,"1234567890123456","1234567890666666"))

gmssl.sm4decrypt(mode,padding,encodeStr,password)

SM4解密算法

参数

传入值类型

解释

string

加密模式, CBC或ECB

string

填充方式, NONE/ZERO/PKCS5/PKCS7

string

已加密的字符串

string

密钥

返回值

返回值类型

解释

string

解密的字符串

例子

-- 参考gmssl.sm4encrypt
http://www.lryc.cn/news/185894.html

相关文章:

  • 【线性代数及其应用 —— 第一章 线性代数中的线性方程组】-1.线性方程组
  • vue实现拖拽排序
  • IS-IS
  • 【MySQL】为什么使用B+树做索引
  • php 安装mongodb扩展模块,rdkafka模块
  • 【数据结构】初探时间与空间复杂度:算法评估与优化的基础
  • SpringCloud Alibaba - Sentinel 限流规则(案例 + JMeter 测试分析)
  • uniapp 条件编译 APP 、 H5 、 小程序
  • 深度学习——权重衰减(weight_decay)
  • nignx如何部署让前端不用清缓存就可以部署
  • CSS3实现动画加载效果
  • springboot定时任务Scheduled使用和弊端分析
  • openGauss学习笔记-93 openGauss 数据库管理-访问外部数据库-oracle_fdw
  • 【Git】Git下载安装环境配置 下载速度慢的解决方案
  • 常见源协议介绍
  • 大数据概述(林子雨慕课课程)
  • ES6 class类关键字super
  • C++并发与多线程(4) | 传递临时对象作为线程参数的一些问题Ⅰ
  • CentOS Integration SIG 正式成立
  • 智能AI系统源码ChatGPT系统源码+详细搭建部署教程+AI绘画系统+已支持OpenAI GPT全模型+国内AI全模型
  • 软考程序员考试大纲(2023)
  • 【重拾C语言】七、指针(一)指针与变量、指针操作、指向指针的指针
  • Kafka源码简要分析
  • react 按住ctrl键,点击时会出现菜单的问题修复
  • 【虚拟机栈】
  • Linux系列讲解 —— 【fsck】检查并修复Linux文件系统
  • gitlab突然提示我要输入密码了。
  • 业务测试常见问题(一)
  • IntelliJ IDEA失焦自动重启服务的解决方法
  • 终端准入控制系统,保障企业内网安全的关键防线