相关文章推荐
寂寞的灯泡  ·  python ...·  2 周前    · 
无邪的灌汤包  ·  “视角”系列视频·  7 月前    · 
开心的刺猬  ·  宋瓷,真美! - 知乎·  1 年前    · 
发怒的楼房  ·  怪谈诡异录-葬花【四】·  1 年前    · 
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; import android.util.Base64; public class EncryptUtil { private static final int BUFFER_SIZE = 1024; * BASE64 加密 * @param str * @return public static String encryptBASE64(String str) { if (str == null || str.length() == 0) { return null; try { byte[] encode = str.getBytes("UTF-8"); // base64 加密 return new String(Base64.encode(encode, 0, encode.length, Base64.DEFAULT), "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return null; * BASE64 解密 * @param str * @return public static String decryptBASE64(String str) { if (str == null || str.length() == 0) { return null; try { byte[] encode = str.getBytes("UTF-8"); // base64 解密 return new String(Base64.decode(encode, 0, encode.length, Base64.DEFAULT), "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return null; * GZIP 加密 * @param str * @return public static byte[] encryptGZIP(String str) { if (str == null || str.length() == 0) { return null; try { // gzip压缩 ByteArrayOutputStream baos = new ByteArrayOutputStream(); GZIPOutputStream gzip = new GZIPOutputStream(baos); gzip.write(str.getBytes("UTF-8")); gzip.close(); byte[] encode = baos.toByteArray(); baos.flush(); baos.close(); // base64 加密 return encode; // return new String(encode, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); return null; * GZIP 解密 * @param str * @return public static String decryptGZIP(String str) { if (str == null || str.length() == 0) { return null; try { byte[] decode = str.getBytes("UTF-8"); //gzip 解压缩 ByteArrayInputStream bais = new ByteArrayInputStream(decode); GZIPInputStream gzip = new GZIPInputStream(bais); byte[] buf = new byte[BUFFER_SIZE]; int len = 0; ByteArrayOutputStream baos = new ByteArrayOutputStream(); while((len=gzip.read(buf, 0, BUFFER_SIZE))!=-1){ baos.write(buf, 0, len); gzip.close(); baos.flush(); decode = baos.toByteArray(); baos.close(); return new String(decode, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); return null; * 十六进制字符串 转换为 byte[] * @param hexString * the hex string * @return byte[] public static byte[] hexStringToBytes(String hexString) { if (hexString == null || hexString.equals("")) { return null; int length = hexString.length() / 2; char[] hexChars = hexString.toCharArray(); byte[] d = new byte[length]; for (int i = 0; i < length; i++) { int pos = i * 2; d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1])); return d; * Convert char to byte * @param c * char * @return byte private static byte charToByte(char c) { return (byte) "0123456789abcdef".indexOf(c); // return (byte) "0123456789ABCDEF".indexOf(c); * byte[] 转换为 十六进制字符串 * @param src * @return public static String bytesToHexString(byte[] src) { StringBuilder stringBuilder = new StringBuilder(""); if (src == null || src.length <= 0) { return null; for (int i = 0; i < src.length; i++) { int v = src[i] & 0xFF; String hv = Integer.toHexString(v); if (hv.length() < 2) { stringBuilder.append(0); stringBuilder.append(hv); return stringBuilder.toString(); import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.zip.GZIPInputStream;import java.ut
文章目录背景加 解密 AESRSAMD5SHA加 解密 中用到的工具类项目地址 最近在项目中需要使用到AES、RSA、MD5、SHA的加 解密 ,整理了工具类,放出来记录一下,完整的源码已经放到github上。 * AES 工具类 public class AESUtil { private final static String SHA1PRNG = "SHA...
GZip 作为常用类,进行数据的加压缩是没问题的。 如果在把压缩后的字节数据进行 Base64 的encode,传输后再进行 Base64 的decode,然后再解压,不同手机出现了不同的异常 java.util.zip.ZipException: invalid distance too far back 复制代码IOException 复制代码后来也不确定是什么问题, Base64 换成了common-co...
var strData = atob(b64Data); // Convert binary string to character-number array var charData = strData.split('').map(function (x) { return x.charCodeAt(0); // Turn number array into byte-array var binData = new Uin gzip 是GNUzip的缩写,它是一个GNU自由软件的文件压缩程序。 HTTP协议上的 GZIP 编码是一种用来改进WEB应用程序性能的技术。一般服务器中都安装有这个功能模块的,服务器端不需做改动。 当浏览器支持 gzip 格式的时候, 服务器端会传输 gzip 格式的数据。 从Http 技术细节上讲,就是 http request 头中 有 “Accept-Encoding”, “ gzip ” ,response 中就有返回头Content-Encoding= gzip 我们现在从浏览器上访问玩啥网站都是 gzip 格式传输的。 但是我们现在 Android 客户端,没有用
Android App中进行网络请求,我们都司空见惯。那么进行http请求时可以进行压缩请求,你造么。。。简介HTTP定义了一些标准的内容编码类型,并允许用扩展的形式添加更多的编码。   Content-Encoding header 就用这些标准化的代号来说明编码时使用的算法   Content-Encoding值 gzip 表明实体采用GNU zip编码   compress 表明
快给毕老师唱一个: 为什么要关注时分秒呢 ,年月日都一样就好了啊。计算一个after和before 消耗相较于比三个int值,消耗大太多倍了[code=java] final val dayOfYear = dateTime.getDayOfYear(); final val monthValue = dateTime.getMonthValue(); final val year = dateTime.getYear(); final val now = LocalDateTime.now(); return now.getDayOfYear() == dayOfYear&& now.getMonthValue()==monthValue&& now.getYear()==year; [/code] MyBatis 3.3.1 批量插入多行回写自增id CarlaF: 3.5.9版本也不行啊。。。