From cac1a8146ae60398b251da70fd5aa3b33ef775ec Mon Sep 17 00:00:00 2001 From: Marcos Date: Sun, 19 Jul 2015 13:36:34 -0500 Subject: [PATCH] Delete b64.lua File was renamed --- b64.lua | 67 --------------------------------------------------------- 1 file changed, 67 deletions(-) delete mode 100755 b64.lua diff --git a/b64.lua b/b64.lua deleted file mode 100755 index 99c1daa..0000000 --- a/b64.lua +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/local/bin/lua --- Based on http://lua-users.org/wiki/BaseSixtyFour by Alex Kloss --- compatible with lua 5.1 --- http://www.it-rfc.de --- licensed under the terms of the LGPL2 - -b64 = {} - --- bitshift functions (<<, >> equivalent) --- shift left -local function lsh(value,shift) - return (value*(2^shift)) % 256 -end - --- shift right -local function rsh(value,shift) - -- Lua builds with no floating point don't define math. - if math then return math.floor(value/2^shift) % 256 end - return (value/2^shift) % 256 -end - --- return single bit (for OR) -local function bit(x,b) - return (x % 2^b - x % 2^(b-1) > 0) -end - --- logic OR for number values -local function lor(x,y) - result = 0 - for p=1,8 do result = result + (((bit(x,p) or bit(y,p)) == true) and 2^(p-1) or 0) end - return result -end - --- Character decoding table -local function toBase64Byte(char) - ascii = string.byte(char, 1) - if ascii >= string.byte('A', 1) and ascii <= string.byte('Z', 1) then return ascii - string.byte('A', 1) - elseif ascii >= string.byte('a', 1) and ascii <= string.byte('z', 1) then return ascii - string.byte('a', 1) + 26 - elseif ascii >= string.byte('0', 1) and ascii <= string.byte('9', 1) then return ascii + 4 - elseif ascii == string.byte('-', 1) then return 62 - elseif ascii == string.byte('_', 1) then return 63 - elseif ascii == string.byte('=', 1) then return nil - else return nil, "ERROR! Char is invalid for Base64 encoding: "..char end -end - - --- function decode --- decode base64 input to string -function b64.decode(data) - local chars = {} - local result="" - for dpos=0,string.len(data)-1,4 do - for char=1,4 do chars[char] = toBase64Byte((string.sub(data,(dpos+char),(dpos+char)) or "=")) end - result = string.format( - '%s%s%s%s', - result, - string.char(lor(lsh(chars[1],2), rsh(chars[2],4))), - (chars[3] ~= nil) and string.char(lor(lsh(chars[2],4), - rsh(chars[3],2))) or "", - (chars[4] ~= nil) and string.char(lor(lsh(chars[3],6) % 192, - (chars[4]))) or "" - ) - end - return result -end - -return b64