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, }