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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!