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()); zout.closeEntry(); compressed = out.toByteArray(); compressedStr = new sun.misc.BASE64Encoder().encodeBuffer(compressed); } catch (IOException e) { compressed = null; } finally { if (zout != null) { try { zout.close(); } catch (IOException e) { if (out != null) { try { out.close(); } catch (IOException e) { return compressedStr; * 使用zip进行解压缩 * @param * @return 解压后的字符串 compressed压缩后的文本 public static 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); 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; 转载来的。原文本zip加密的时候我会莫名其妙换行,我的原始数据是json数据所以我在加密完成的时候 把\r\n都替换了如下String admin = zip(加密的字符串).replaceAll("\r\n",""); /** * 使用zip进行压缩 * @param str 压缩前的文本 * @return 返回压缩后的文本...
文本串 加密 和解密程序。一个文本串可用事先给定的字母映射表进行 加密 。例如,设字母映射表为:     a b c d e f g h I j k l m n o p q r s t u v w x y z     n g z q t c o b m u h e l k p d a w x f y I v r s j     则 字符串 “encrypt”被 加密 为“tkzwsdf”。 试写一个算法将输入的文本串进行 加密 后输出; 另写一个算法将输入的已 加密 的文本串进行解密后输出。
Deflater 是使用了LZ77算法与哈夫曼编码的一个无损数据压缩算法。 Java 提供的 Deflater 和 Inflater 类对 json 进行压缩和解压缩,下面是工具类: package com.wjcloud.utils; import java.io.ByteArrayOutputStream; import java.util.Base64; import java.util. zip .DataFormatException; import java.util. zip .Deflater;
1,什么是 加密 加密 ,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已 加密 的信息,但因不知解密的方法,仍然无法了解信息的内容。 ## 这里举一个简单的 加密 如下 **123456 - - - - - - >234567** 每一位数字+1得到的234567而原来的123456用术语叫明文(就是 加密 前的)而 234567就是密文( 加密 后的),秘钥则是+1,这就是一个简单的 加密 过程 2,什么是MD5 加密 MD5 加密 即Message - Digest Algorithm 5(信息 - 摘要算法),是让大容量信息
在使用 Base64 对数据进行 加密 时,会将原始数据转换 一串字符,因此 加密 后的 字符串 长度可能会比原始数据长度要长。如果 加密 后的 字符串 超长,可能的原因有以下两种: 1. 加密 前的数据本身就比较长, 加密 后的 字符串 长度会随着数据长度的增加而增加。 2. 使用了错误的编码方式。在将二进制数据转换 字符串 时,应该使用合适的编码方式。常见的编码方式有 UTF - 8、ISO - 8859 - 1 等,如果使用了错误的编码方式,可能会导致 加密 后的 字符串 长度超长。 如果你需要将 加密 后的 字符串 传输或存储,可以考虑使用压缩算法对 字符串 进行压缩,以减小数据大小。常见的压缩算法有 G zip Zip 等。 另外,如果你需要 加密 的数据比较大,可以考虑使用分段 加密 的方式,将数据分 若干块进行 加密 ,以避免一次性 加密 数据量过大导致性能问题。