# 云函数AES加密

# 简要描述
  • 云函数使用 AES 对称加密,算法与请求/响应加解密中的 AES/ECB/PKCS5Padding(加密类型 2)完全一致,可直接用 APP 控制台配置的加密密钥互操作。详见 接口规范 · 加解密规则。
# 算法说明(与接口加解密一致)
项 值
算法 / 模式 / 填充 AES/ECB/PKCS5Padding(AES 块长 16,PKCS5 与 PKCS7 等价)
IV 无(ECB 模式)
明文编码 UTF-8
密钥编码 UTF-8
密钥处理 长度不足 32 字节时,右侧用字符 0 补齐至 32 字节(AES-256);≥32 则按原字符串取用
密文输出 Base64(无换行)

对应控制台 / SDK 加密类型:2 = AES/ECB/PKCS5Padding。不要与类型 4(AES/ECB/NoPadding,固定 16 位密钥、数据需自行补齐)混用。

# 方法名称
  • aesEncrypt
# 调用参数
参数名 必选 类型 说明
data 是 string 待加密明文(UTF-8)
secretKey 是 string AES 密钥,与接口 encryptSecretKey / 控制台加密密钥相同即可
# 调用实例
// 与接口请求加密同一密钥、同一算法
var res = potato.aesEncrypt("hello world", "1234567890123456")
res
1
2
3
# 调用方法返回示例
Base64 密文字符串(示例形态)
1
# 返回参数
参数名 必选 类型 说明
(返回值) 是 string Base64 编码的密文,可直接作为接口加密后的 value
# API调用参数
参数名 必选 类型 说明
name 是 string 函数名称
params 否 json 调用参数
# API调用实例
{
	"name":"testFun"
}
1
2
3
# API调用请求头
参数名 必选 类型 说明
Content-Type 是 string 此参数必传,当请求数据非json时此参数传对应格式如(multipartform-data,application/x-www-form-urlencoded,等)是json请传application/json
askKey 是 string 此参数必传,验证app的令牌
sign 否 string 此参数如果在app设置开启了验签是必传
time 否 string 当开启验签时,此参数为必传
apiUserToken 否 string 用户令牌
nonce 否 string 随机字符串(当开启V3验签此参数必传,且6分钟内不允许重复)
# API调用返回参数说明
参数名 类型 说明
code string 状态码200成功,403权限异常或登录超时,500请求异常,203请求无数据
status int 状态0删除1使用
data object 返回内容,云函数如果没有返回结果则该值为空
res object 执行返回数据
param object 返回执行参数,可以忽略
nonce string 随机字符串(当开启V3验签必返回次参数,且6分钟内不会重复)
sign string 此参数如果在app设置开启了验签是必返
reqSign string 请求签名
time long 当开启验签时,此参数为必返回
# API调用返回示例
{
	"code": "200",
	"message": "",
	"status": true,
	"data": {
		"res": "cLpZq8V9K8V9K8V9K8V9Kw=="
	},
	"pc": null,
	"time": null,
	"nonce": null,
	"sign": null,
	"reqSign": null
}
1
2
3
4
5
6
7
8
9
10
11
12
13
# 备注
  • 数据或密钥为空、加解密失败时会抛出异常
  • 密钥补齐规则与接口一致:不足 32 字节用 0 补齐;建议直接使用控制台配置的加密密钥,保证与客户端加解密结果一致
  • 填充由 PKCS5Padding 自动完成,无需对明文手动补齐到 16 字节倍数
  • 与 potato.aesDecrypt 成对使用;与客户端 SDK 中 AES/ECB/PKCS5Padding 互操作
  • 更多返回错误代码请查看 错误代码参考
lastUpdate: 9/3/2026, 5:11:12 PM