為了節約帶寬、加快傳送速度,http協定支援gzip的壓縮,但如果我們的app與背景不是通過http協定通訊的,那麼壓縮、解壓這個流程需要自己寫。下面給出compress和decompress的代碼:
盡快壓縮後的資料不可視,但有心人很容易通過攔截資料包很快猜想到這是gzip壓縮格式并給出解壓程式,對于遊戲領域、金融領域的應用,通訊過程的加密尤為重要。
Blowfish算法免費、速度快,不宜破解(關鍵是key資料不要洩露),在及時加密、解密中應用廣泛。下面以Blowfish算法為例簡單講下資料的壓縮、加密盒解密、解壓過程。
1、定義keySpec,用來儲存key資料的object:
static private SecretKeySpec keySpec;
byte[] key=KeyGenerator.getInstance("Blowfish").generateKey().getEncoded();
keySpec = new SecretKeySpec(key, "Blowfish");
2、再定義getCipher方法,根據mode獲得加密/解密的Cipher Object:
3、下面是對w_str的壓縮、加密和解密、解壓:
當然,對于極度重要的資料,為了安全起見,權衡加解密速度、破解難度等方面,個人建議還是用AES不對稱加密。
轉載請注明出處: