Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local tArgs = {...}
- local digits = {}
- for i=0,9 do digits[i] = string.char(string.byte('0')+i) end
- for i=10,36 do digits[i] = string.char(string.byte('A')+i-10) end
- local function tobinary(number)
- local base = 2
- local s = ""
- repeat
- local remainder = number % base
- s = digits[remainder]..s
- number = (number-remainder)/base
- until number==0
- return s
- end
- local function tolen(str, len, char)
- if str:len() < len then
- return string.rep(char, len - str:len()) .. str
- else
- return str
- end
- end
- function encrypt(str)
- local binary = ""
- for i = 1, str:len() do
- binary = binary .. tolen(tobinary(string.byte(str:sub(i, i))), 8, "0")
- end
- binary = "1" .. binary .. "0000111"
- local newstr = ""
- for i = 1, binary:len(), 8 do
- newstr = newstr .. string.char(tonumber(binary:sub(i, i+7), 2))
- end
- return newstr
- end
- function decrypt(str)
- local binary = ""
- for i = 1, str:len() do
- binary = binary .. tolen(tobinary(string.byte(str:sub(i, i))), 8, "0")
- end
- binary = string.sub(binary, 2, -7)
- local newstr = ""
- for i = 1, binary:len(), 8 do
- newstr = newstr .. string.char(tonumber(binary:sub(i, i+7), 2))
- end
- return newstr
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement