cocos2dx之CCUserDefault及其資料進行加密解密
CCUserDefault是Cocos2d-x引擎提供的持久化方案,其作用是儲存所有遊戲通用的使用者配置資訊,例如音樂和音效配置等。為了方便起見,有時我們也可以用CCUserDefault來儲存金幣數目這種簡單的資料項。
這裡要注意, CCUserDefault中有個 flush()的函式,這個用來將資料寫入xml檔案中,也就是說當你使用setXX的一些函式後記得提交(呼叫一下flush函式)
CCUserDefault可以看做一個永久儲存的字典,本質是一個XML檔案,將每個鍵及其對應的值以節點的形式儲存到外存中。值只支援int和float等基本型別.
CCUserDefault::sharedUserDefault()->setBoolForKey("exit", true);
CCUserDefault::sharedUserDefault()->flush();//這行一定要加上,不然下次啟動遊戲的時候,該資料就沒有儲存。
bool bexit = CCUserDefault::sharedUserDefault()->getBoolForKey("exit");
這裡要注意, CCUserDefault中有個 flush()的函式,這個用來將資料寫入xml檔案中,也就是說當你使用setXX的一些函式後記得提交(呼叫一下flush函式)
XML的一個很嚴重的問題是明文儲存,儲存在外部的資料一旦被截獲,就將直接暴露在攻擊者面前,小則篡改使用者資料,大則洩露使用者隱私資訊。因此,對儲存在檔案中的資訊加密不可忽視。
幸運的是,前面我們已經設計好了序列化和反序列化過程,只要在其中加入合適的加密和解密演算法,即可保證我們的資料不會被輕易竊取。這裡我們只使用一個簡單的編碼輪換來加密,相關程式碼如下:
void encode(string &str)
{
for(int i = 0; i < str.length(); i++) {
int ch = str[i];
ch = 0xff & (((ch & (1 << 7)) >> 7) & (ch << 1));
str[i] = ch;
}
}
void decode(string &str)
{
for(int i = 0; i < str.length(); i++) {
int ch = str[i];
ch = 0xff & (((ch & (1)) << 7) & (ch >> 1));
str[i] = ch;
}
}
相關文章
- Oracle對資料進行加密&解密處理Oracle加密解密
- iOS中使用RSA對資料進行加密解密iOS加密解密
- Flutter 的加密和解密資料Flutter加密解密
- 資料加密-國密SM2對資料進行加密加密
- Python使用AES進行鹽值加密和解密Python加密解密
- 探討NET Core資料進行3DES加密或解密弱金鑰問題3D加密解密
- dbms_obfuscation_toolkit(資料加密解密)加密解密
- 資料的加密和解密初識加密解密
- 使用Base64進行string的加密和解密加密解密
- iOS開發之AES+Base64資料混合加密與解密iOS加密解密
- win10加密資料夾如何解密_win10已加密的資料夾如何解密Win10加密解密
- java實現DES資料加密與解密Java加密解密
- 淺談貝貝遊戲資料加密解密方式遊戲加密解密
- 後臺對Json資料加密、解密JSON加密解密
- java使用DES加密方式,實現對資料的加密解密Java加密解密
- 在PHP中使用AES加密演算法加密資料及解密資料PHP加密演算法解密
- 前端加密解密之Crypto.js前端加密解密JS
- 如何在Python中加密和解密資料Python加密解密
- Jmeter使用beanshell對資料進行加密傳輸JMeterBean加密
- 加密解密加密解密
- 小程式加密資料解密演算法java版加密解密演算法Java
- Android資料加密之Aes加密Android加密
- Android資料加密之Rsa加密Android加密
- Android資料加密之Des加密Android加密
- netty系列之:對聊天進行加密Netty加密
- PHP中使用OpenSSL生成RSA公鑰私鑰及進行加密解密示例(非對稱加密)PHP加密解密
- cocos2dx之引入Sqlite3資料庫SQLite資料庫
- AES實現財務資料的加密解密儲存加密解密
- PostgreSQL 資料加密之 pgcryptoSQL加密GC
- PHP加密解密PHP加密解密
- js加密解密JS加密解密
- Unity 加密解密Unity加密解密
- Java加密解密Java加密解密
- Oracle ----加密解密Oracle加密解密
- AES加密解密加密解密
- AES 加密&解密加密解密
- Cocos2dx之進度條使用,非同步載入資源進快取非同步快取
- C#中base64之加密解密C#加密解密