Advertisement
Corona

[CC] CryptX symmetric encryption tool

Apr 12th, 2016
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.06 KB | None | 0 0
  1. --[[
  2.   Software engineered and maintained by Coronaxe,
  3.   please provide original author name when
  4.   altering or redistributing this software!
  5.   Thank you!
  6. ]]--
  7.  
  8. if not _G.strman then
  9.   error("Stringmanager could not be loaded!")
  10. end
  11.  
  12. CryptX = {}
  13.  
  14. function CryptX:craft( password )
  15.   local crypt = {}
  16.   setmetatable( crypt, self )
  17.   self.__index = self
  18.   if password then
  19.     crypt:initialize( password )
  20.   end
  21.   return crypt
  22. end
  23.  
  24. function CryptX:initialize( password )
  25.   self.password = password
  26.   self.randomlength = #password
  27.   self.randomseed = strman.ArrToStr(strman.StrToByteArr( password )) / strman.StrToNumber( password )
  28. end
  29.  
  30. function CryptX:encrypt( str )
  31.   local tEncr = {}
  32.   math.randomseed(self.randomseed)
  33.   for i = 1, #str do
  34.     table.insert(tEncr, str:byte(i,i) * math.random(1,self.randomlength))
  35.   end
  36.   return tEncr
  37. end
  38.  
  39. function CryptX:decrypt( tEncr )
  40.   local str = ""
  41.   math.randomseed(self.randomseed)
  42.   for i = 1, #tEncr do
  43.     str = str .. string.char(tEncr[i] / math.random(1,self.randomlength))
  44.   end
  45.   return str
  46. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement