quick-x数据加密
一,数据加密
只要是 利用quick 封装的
local Crypto = require("framework.crypto") -- 算法加密解密
来制作
function crypto.encryptXXTEA(plaintext, key)
plaintext = tostring(plaintext)
key = tostring(key)
return CCCrypto:encryptXXTEA(plaintext, string.len(plaintext), key, string.len(key))
end
这个是framework里面的东西 有兴趣的可以看一下
其中我的加密的数据是修改时候才解密读写再加密保存 这样八门神器之类就改不了加密的字段了
local KEY_COIN="coin"
local encodeCoin=Crypto.encryptXXTEA(0,KEY_COIN) --金币
--金币----------
local writeCoin = function()
userDefault:setStringForKey(KEY_COIN,encodeCoin)
end
function GameData:getCoin()
return tonumber(Crypto.decryptXXTEA(encodeCoin,KEY_COIN))
end
function GameData:setCoin(value)
local coin=self:getCoin()+value
if coin<0 then return end
encodeCoin=Crypto.encryptXXTEA(coin,KEY_COIN)
writeFuncs[KEY_COIN]=writeCoin
EventManager:dispatchEvent({name=EVENT_DATA,kind=PLAYER.COIN,value=coin})
return coin
end