一种 AES(128位)+RSA混合加密,iv为前16个0字符,使用java和ngx.lua编写的加解密方法

使用 openresty 和 ngx_lua 编写的服务端 HTTP 接口,旨在提供给 Android 设备提交加密数据上报、日志采集等功能。
主要流流程如下 aes+rsa混合常见流程

local enable_padding = true:定义一个布尔变量 enable_padding 并赋值为 true,用于启用填充功能。 local aes_128_cbc_with_padding = aes:new(key, nil, aes.cipher(128,"cbc"), {iv = string.rep('\0', 16)}, nil, nil, enable_padding)aes:new() 是创建 AES 加密算法实例的函数。
key 是用于加密和解密的密钥。
nil 表示没有额外的选项参数。
aes.cipher(128, "cbc") 指定使用AES-128 位密钥和 CBC (Cipher Block Chaining) 模式进行加密。
{iv = string.rep('\0', 16)} 是初始化向量 (IV),其中 string.rep('\0', 16) 创建了一个由 16 个空字符组成的字符串作为 IV
最后一个参数 enable_padding 是用于启用填充功能的布尔变量。