关于air202 http使用私有协议进行加密的问题

关于lua 字符串的相关知识点举例:字符串  str获取字符串长度 string.len(str)获取某个i位置的节点  str[i]   这里i的值为 0 - 字符串长度-1下面是我对字符串进行加密解密的算法...

关于lua 字符串的相关知识点

举例:

字符串  str

获取字符串长度 string.len(str)

获取某个i位置的节点  str[i]   这里i的值为 0 - 字符串长度-1

下面是我对字符串进行加密解密的算法

加密

local function baseencrypt(str)

local enstr ={}

local len,index = string.len(str),1

local ch = nil

local rep = nil

while index <= len do

repeat

ch = string.byte(str,index)

--print("str[",index,"]=",ch)

if ch >= (1+0*21) and ch < (1+0*21+21) then

rep = ch + 84

break

end


if ch >= (1+1*21) and ch < (1+1*21+21) then

rep = ch + 42

break

end


if ch >= (1+2*21) and ch < (1+2*21+21) then

rep = ch + 63

break

end


if ch >= (1+3*21) and ch < (1+3*21+21) then

rep = ch - 63

break

end

if ch >= (1+4*21) and ch < (1+4*21+21) then

rep = ch - 42

break

end

if ch >= (1+5*21) and ch < (1+5*21+21) then

rep = ch - 84

break

end

until true


table.insert(enstr,string.char(rep))

--print("append ch=",rep," str[",index,"] = ",ch)

index = index + 1

end


return table.concat(enstr)

end


解密算法

local function basedecrypt(str)

local len,index = string.len(str),0

while str[index] ~= 0 do

repeat

if str[index] >= (1+0*21) and str[index] < (1+0*21+21) then

str[index] = str[index] + 63

break

end


if str[index] >= (1+1*21) and str[index] < (1+1*21+21) then

str[index] = str[index] + 84

break

end


if str[index] >= (1+2*21) and str[index] < (1+2*21+21) then

str[index] = str[index] + 42

break

end


if str[index] >= (1+3*21) and str[index] < (1+3*21+21) then

str[index] = str[index] - 42

break

end

if str[index] >= (1+4*21) and str[index] < (1+4*21+21) then

str[index] = str[index] - 84

break

end

if str[index] >= (1+5*21) and str[index] < (1+5*21+21) then

str[index] = str[index] - 63

break

end

until true

index = index+1

end

end

  • 发表于 2019-02-19 09:51
  • 阅读 ( 1648 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
王康

1 篇文章

作家榜 »

  1. 技术销售Delectate 43 文章
  2. 陈夏 26 文章
  3. 国梁 24 文章
  4. miuser 21 文章
  5. 晨旭 20 文章
  6. 朱天华 19 文章
  7. 金艺 19 文章
  8. 杨奉武 18 文章