Lua Base64 编码

Chr*_*ndu 3 base64 lua

我不使用 lua,我尝试在互联网上搜索,这是做什么的:

assert`(load(Base64Decode(==BASE64 Script but is not Encoded like usualy==), nil, "bt", _ENV))().`
Run Code Online (Sandbox Code Playgroud)

每个编码的消息都以G0x........==. 我尝试了数学解码,但我什么也做不了。

那么,有什么帮助吗?

The*_*ulo 9

用谷歌搜索很容易找到解决方案。连续提出很多问题可能会导致暂时的“询问禁用”,在这种情况下您无法提出任何问题。我们可能需要更多信息,但是,根据标题,我想您想从 Base64 编码和解码。来源:lua-users wiki:Base64

local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' -- You will need this for encoding/decoding
-- encoding
function enc(data)
    return ((data:gsub('.', function(x) 
        local r,b='',x:byte()
        for i=8,1,-1 do r=r..(b%2^i-b%2^(i-1)>0 and '1' or '0') end
        return r;
    end)..'0000'):gsub('%d%d%d?%d?%d?%d?', function(x)
        if (#x < 6) then return '' end
        local c=0
        for i=1,6 do c=c+(x:sub(i,i)=='1' and 2^(6-i) or 0) end
        return b:sub(c+1,c+1)
    end)..({ '', '==', '=' })[#data%3+1])
end

-- decoding
function dec(data)
    data = string.gsub(data, '[^'..b..'=]', '')
    return (data:gsub('.', function(x)
        if (x == '=') then return '' end
        local r,f='',(b:find(x)-1)
        for i=6,1,-1 do r=r..(f%2^i-f%2^(i-1)>0 and '1' or '0') end
        return r;
    end):gsub('%d%d%d?%d?%d?%d?%d?%d?', function(x)
        if (#x ~= 8) then return '' end
        local c=0
        for i=1,8 do c=c+(x:sub(i,i)=='1' and 2^(8-i) or 0) end
            return string.char(c)
    end))
end
Run Code Online (Sandbox Code Playgroud)

这应该有帮助。~TheCrimulo