一种 AES(128位)+RSA混合加密,iv为前16个0字符,使用java和ngx.lua编写的加解密方法
使用 openresty 和 ngx_lua 编写的服务端 HTTP 接口,旨在提供给 Android 设备提交加密数据上报、日志采集等功能。
主要流流程如下
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是用于启用填充功能的布尔变量。