一种 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
是用于启用填充功能的布尔变量。