- 使用了【hutool】hutool類庫的Base64和zip工具類,用來壓縮二維碼中的長json字符串。
- 自定義工具類:
public final class QrGzipUtil {
// 壓縮
public static String gzip(String toGzip) {
return Base64.encode(ZipUtil.gzip(toGzip, CharsetUtil.CHARSET_UTF_8.name()));
}
// 解壓
public static String unGzip(String toUnGzip) {
byte[] decode = Base64.decode(toUnGzip);
return ZipUtil.unGzip(decode , CharsetUtil.CHARSET_UTF_8.name());
}
}
- PS,發送端在數據發送前的處理流程如下(接收端互逆):
1.先對原始字符串簽名,以保證簽名忠實於原始內容;
2.然后壓縮,以精簡內容的尺寸,提高后續加密和傳輸的效率;
3.最后加密,保證數據安全。