Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local KEY = "sampletext"
- addEventHandler("onResourceStart", resourceRoot, function()
- -- ENCODE
- local file = File.open("test.txt")
- local raw = file:read(file.size)
- file:close()
- local len = #raw
- local lent = {}
- -- file length to 256-digit notation
- local len0 = len
- while len0 > 0 do
- table.insert(lent, 1, len0 % 256)
- len0 = math.floor(len0 / 256)
- end
- table.insert(lent, #lent) -- #lent < 255
- -- put \0 bytes. Expected length %4 == 0 , where length = file length + length of file length
- local deltafile = (4 - len % 4)
- local deltatable = #lent % 4
- local lendelta = (deltafile < deltatable) and (4 - deltatable + deltafile) or deltafile - deltatable
- for i = 1, lendelta do
- table.insert(lent, 1, 0)
- end
- raw = raw .. string.char(unpack(lent))
- local encoded = encodeString(
- "tea",
- raw,
- { key = KEY }
- )
- local file = File.new("encoded")
- file:write(encoded)
- file:close()
- -- DECODE
- local decoded = decodeString(
- "tea",
- encoded,
- { key = KEY }
- )
- local declen = #decoded
- local lentlen = decoded:sub(declen, declen):byte(1)
- local lent = 0
- for i = 1, lentlen do
- lent = lent + decoded:sub(declen - i, declen - i):byte(1) * 256 ^ (i - 1)
- end
- local decodedcut = decoded:sub(1, lent)
- local file = File.new("decoded.txt")
- file:write(decodedcut)
- file:close()
- outputDebugString("Ready!")
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement