Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local function split(self, sep)
- local sep, fields = sep or ":", {}
- local pattern = string.format("([^%s]+)", sep)
- self:gsub(pattern, function(c) fields[#fields+1]=c end)
- return fields
- end
- function encode(text, key)
- local chars = {}
- for i=1, #text do
- chars[i]=text:sub(i, i)
- end
- local rand_num = 1
- for i=1, #key do
- rand_num=rand_num+string.byte(key:sub(i, i))
- end
- local coded = ""
- for _, v in pairs(chars) do
- coded=coded..":"..tostring(string.byte(v)*rand_num)
- end
- return coded:sub(2)
- end
- function decode(text, key)
- local rand_num = 1
- for i=1, #key do
- rand_num=rand_num+string.byte(key:sub(i, i))
- end
- numbers = split(text, ":")
- final = ""
- for _, v in pairs(numbers) do
- if tonumber(v)==nil then break end
- final=final..string.char(tonumber(v)/rand_num)
- end
- return final
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement