当前位置: 代码迷 >> Android >> 代码:
  详细解决方案

代码:

热度:44   发布时间:2016-04-28 01:50:59.0
[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;	}


  相关解决方案