36 lines
715 B
Lua
36 lines
715 B
Lua
local real_aes = require("resty.easy-crypto")
|
|
|
|
local function new(_)
|
|
local fake_instance = {}
|
|
|
|
function fake_instance:encrypt(key, _, data, _, _)
|
|
local aes = real_aes:new({
|
|
saltSize = 16,
|
|
ivSize = 12,
|
|
iterationCount = 2,
|
|
})
|
|
local encrypted = assert(aes:encrypt(key, data))
|
|
self.tag = encrypted:sub(-16)
|
|
return encrypted:sub(1, -17), nil
|
|
end
|
|
|
|
function fake_instance:get_aead_tag()
|
|
return self.tag
|
|
end
|
|
|
|
function fake_instance:decrypt(key, _, data, _, _, tag)
|
|
local aes = real_aes:new({
|
|
saltSize = 16,
|
|
ivSize = 12,
|
|
iterationCount = 2,
|
|
})
|
|
return aes:decrypt(key, data .. tag)
|
|
end
|
|
|
|
return fake_instance
|
|
end
|
|
|
|
return {
|
|
new = new,
|
|
}
|