Android簡單加密網絡數據
原理:
最簡單的數據加密就是采用Base64,雖然會帶有數據冗余,但是寫法簡單,不用做過多的修改,其實也可以采用異或加密。
代碼:
這里就直接上代碼吧,寫法很簡單。
public static final boolean DownlaodAppFile(Context mContext, String url, String cacheName, boolean replace) { File root = mContext.getExternalCacheDir(); if (!root.exists()) { root.mkdir(); } String root_path = root.getAbsolutePath(); File cacheFile = new File(root_path + "/" + cacheName); if (cacheFile.exists()) { if (!replace) { return true; } } File tmpFIle = new File(root_path + "/" + cacheName + ".tmp"); URL mURL = null; try { mURL = new URL(url); } catch (MalformedURLException e) { Log.i("Finals", "URL error"); e.printStackTrace(); return false; } HttpURLConnection conn = null; FileOutputStream fos = null; Base64OutputStream bos = null; try { fos = new FileOutputStream(tmpFIle); bos = new Base64OutputStream(fos, 45); conn = (HttpURLConnection) mURL.openConnection(); if (conn.getResponseCode() == 200) { // 創建連接 InputStream is = conn.getInputStream(); byte[] buffer = new byte[1024]; // 循環獲取數據 int len = 0; while ((len = is.read(buffer)) != -1) { bos.write(buffer, 0, len); } // 釋放資源 bos.close(); fos.close(); is.close(); conn.disconnect(); bos = null; fos = null; is = null; conn = null; tmpFIle.renameTo(cacheFile); System.out.println("下載完成"); } } catch (IOException e) { e.printStackTrace(); Log.i("Finals", "Url connection error"); return false; } finally { if (fos != null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } return true; } public static final String ReadAppFile(Context context, String cacheName) { File root = context.getExternalCacheDir(); String rootpath = root.getAbsolutePath(); File cacheFile = new File(rootpath + "/" + cacheName); if (!cacheFile.exists()) { return ""; } String result = ""; try { FileInputStream fis = new FileInputStream(cacheFile); Base64InputStream bis = new Base64InputStream(fis, 45); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] buffer = new byte[512]; int len = 0; while ((len = bis.read(buffer)) != -1) { bos.write(buffer, 0, len); } result = bos.toString(); bos.close(); bis.close(); fis.close(); bos = null; bis = null; fis = null; } catch (IOException e) { e.printStackTrace(); return ""; } return result; }
本文由用戶 wdfd 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!