2014-06-06 33 views
1

我想混淆iOS/Android設備上本地存儲的一些字符串數據。類似於遊戲中高分的東西。我的目標是隻阻止最懶惰的人,所以加密數據確實沒有必要。 C++標準庫提供哪些幫助?使用C++標準的字符串混淆文庫

我簡短地看了看cryptopp.comlibtomcrypt,但我認爲他們對於我想達到的目標來說是過度殺傷力。

+4

做一個[凱撒密碼](http://en.wikipedia.org/wiki/Caesar_cipher)你只需要修改每個字符一個固定的數量...... – jsantander

+1

單字母數字密碼,像凱撒/加法密碼建議jsantander,都很簡單,很容易破碎。爲了增加一點挑戰性,你可以考慮仿射密碼或Vigenere密碼。這些都很快實施。 – Homar

回答

1

假設要「加密」的字符串不是非常長,可以使用XOR cipher

生成一個與您的輸入字符串長度相同的隨機字符串,並將其輸入與您的輸入進行加密和解密。

void xor_strings (string& message, const string& key) { 
    for (size_t i = 0; i < message.size(); ++i) 
     message[i] ^= key[i]; 
} 

如果將兩個字符串保存在文件中,它將只包含兩個隨機字符串。