if type (Encrypter) == 'table' then return Encrypter end local Encrypter = {} Encrypter._A = { ["A"] = "&", ["B"] = "#", ["C"] = "9", ["D"] = "!", ["E"] = "@", ["F"] = "%", ["G"] = "~", ["H"] = "^", ["I"] = "*", ["J"] = "(", ["K"] = ")", ["L"] = "-", ["M"] = "_", ["N"] = "+", ["O"] = "=", ["P"] = "[", ["Q"] = "]", ["R"] = "{", ["S"] = "}", ["T"] = ";", ["U"] = ":", ["V"] = "'", ["W"] = "\"", ["X"] = "/", ["Y"] = "?", ["Z"] = ".", ["a"] = ",", ["b"] = "<", ["c"] = ">", ["d"] = "|", ["e"] = "0", ["f"] = "1", ["g"] = "2", ["h"] = "3", ["i"] = "4", ["j"] = "5", ["k"] = "6", ["l"] = "7", ["m"] = "8", ["n"] = "z", ["o"] = "x", ["p"] = "y", ["q"] = "w", ["r"] = "v", ["s"] = "u", ["t"] = "t", ["u"] = "s", ["v"] = "q", ["w"] = "p", ["x"] = "o", ["y"] = "n", ["z"] = "m", ["0"] = "l", ["1"] = "k", ["2"] = "j", ["3"] = "i", ["4"] = "h", ["5"] = "g", ["6"] = "f", ["7"] = "e", ["8"] = "d", ["9"] = "c", ["+"] = "b", ["/"] = "a", ["="] = "`" } function Encrypter:GenerateReverseMap() self._reverseMap = {} for k, v in pairs(self._A) do self._reverseMap[v] = k end end function Encrypter:Decrypt(str) local result = '' for i = 1, #str do local char = str:sub(i, i) result = result..(self._reverseMap[char] or char) end return result end function Encrypter:Encrypt(str) local result = {} for i = 1, #str do local char = str:sub(i, i) result[#result + 1] = self._A[char] or char end return table.concat(result) -- Retorna a string criptografada end Encrypter:GenerateReverseMap() setmetatable(Encrypter._reverseMap, { __index = function(_, char) return char end }) setmetatable(Encrypter._A, { __index = function(_, char) return char end}) _G.Encrypter = Encrypter return Encrypter;