lua实现xxTea加解密

还是直接上代码吧~




function _long2str(v, w)
    local len = #v


    local n = bit.lshift((len - 1) , 2)
    if (w) then
        local m = v [len]
        if ((m < n - 3) or (m > n)) then
        return false
        end
        n = m
    end
    local s = {}
    for i = 1 , len do
        s [i] = string.packL(v[i])
    end


    if (w) then
        return string.sub(table.concat(s, ''), 0, n)
    else
        return table.concat(s, '')
    end
end
function _str2long(s, w)
    local v = string.unpackL(s .. string.rep("\0", (4 - bit.band((string.len(s) % 4)  , 3))))
    if (w) then
        v [#v+1] = string.len(s)
    end
    return v
end
function _int32(n)
    while (n >= 2147483649) do
        n = n - 4294967296
    end
    while (n <= -2147483649) do
        n = n + 4294967296
    end
    return n
end


function security.xxTEAEncrypt(str, key, toBase64)


    toBase64 = toBase64 or true
    if (str == "") then
        return ""
    end
    local v = _str2long(str, true)
    local k = _str2long(key, false
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值