android zip压缩base64解密加密
2017-05-23 10:07
435 查看
import android.util.Base64; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; /** * 所有Util的集合 */ public class Utils { /** * 使用zip进行压缩 * * @param str 压缩前的文本 * @return 返回压缩后的文本 */ public static final String zip(String str) { if (str == null) return null; byte[] compressed; ByteArrayOutputStream out = null; ZipOutputStream zout = null; String compressedStr = null; try { out = new ByteArrayOutputStream(); zout = new ZipOutputStream(out); zout.putNextEntry(new ZipEntry("0")); zout.write(str.getBytes("utf-8")); zout.closeEntry(); compressed = out.toByteArray(); //compressedStr = new sun.misc.BASE64Encoder().encodeBuffer(compressed);//base64解密(java写法) compressedStr = Base64.encodeToString(compressed, Base64.NO_WRAP);//base64解密(android写法) } catch (IOException e) { } finally { compressed = null; if (zout != null) { try { zout.close(); } catch (IOException e) { } } if (out != null) { try { out.close(); } catch (IOException e) { } } } return compressedStr; } /** * 使用zip进行解压缩 * * @param compressedStr 压缩后的文本 * @return 解压后的字符串 */ public static final String unzip(String compressedStr) { if (compressedStr == null) { return null; } ByteArrayOutputStream out = null; ByteArrayInputStream in = null; ZipInputStream zin = null; String decompressed = null; try { //byte[] compressed = new sun.misc.BASE64Decoder().decodeBuffer(compressedStr);//base64加密(java写法) byte[] compressed = Base64.decode(compressedStr,Base64.DEFAULT);//base64加密(android写法) out = new ByteArrayOutputStream(); in = new ByteArrayInputStream(compressed); zin = new ZipInputStream(in); zin.getNextEntry(); byte[] buffer = new byte[1024]; int offset = -1; while ((offset = zin.read(buffer)) != -1) { out.write(buffer, 0, offset); } decompressed = out.toString(); } catch (IOException e) { decompressed = null; } finally { if (zin != null) { try { zin.close(); } catch (IOException e) { } } if (in != null) { try { in.close(); } catch (IOException e) { } } if (out != null) { try { out.close(); } catch (IOException e) { } } } return decompressed; } }
相关文章推荐
- android zip压缩base64解密加密,做记录用
- Android下zip压缩文件加密解密的完美解决方案
- Android下zip压缩文件加密解密的完美解决方案
- Android下zip压缩文件加密解密的完美解决方案
- android Base64加密解密
- android Base64加密解密
- android Base64加密解密
- Android Base64加密解密
- Android 自带Base64加密解密
- android使用Base64 加密解密传递 对象
- 学习笔记之——android MD5加密(32位)和 Base64加密解密
- zip压缩加密解密的开源工具包zip4j
- Android DES MD5 UTF—8 BASE64 加密解密
- Android gzip、base64 加密、解密
- Android 加密解密Base64
- iOS,Android服务器间通用的Base64加密解密传递数据
- Android - Base64加密与解密
- Java/Android 加密解密压缩文件夹
- android Base64加密解密
- Java/Android GZip,BZip2,Zip 压缩封装 和 MD5,RSA,SHA,Desede 加密封装