Android简单加密网络数据

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

原理:

最简单的数据加密就是采用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;  
        }