From 855ca67fa8351ca2f9d6483288f49354befde4db Mon Sep 17 00:00:00 2001 From: "kaixiang.xia" Date: Mon, 14 Sep 2020 09:56:26 +0800 Subject: [PATCH] =?utf8?q?=E8=BD=A6=E8=BD=BD=E7=A0=81=E5=86=85=E5=AE=B9?= =?utf8?q?=E5=A2=9E=E5=8A=A0=E9=9A=8F=E6=9C=BA=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../main/java/com/supwisdom/dlpay/busqrcode/BinUtil.java | 4 ++-- .../src/main/java/com/supwisdom/dlpay/busqrcode/QrCode.java | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bus-qrcode/src/main/java/com/supwisdom/dlpay/busqrcode/BinUtil.java b/bus-qrcode/src/main/java/com/supwisdom/dlpay/busqrcode/BinUtil.java index ebb4f055..b04ecd43 100644 --- a/bus-qrcode/src/main/java/com/supwisdom/dlpay/busqrcode/BinUtil.java +++ b/bus-qrcode/src/main/java/com/supwisdom/dlpay/busqrcode/BinUtil.java @@ -58,10 +58,10 @@ public class BinUtil { } public static String encodeBase64(byte[] data) { - return Base64.encodeBase64String(data); + return new Base64(true).encodeAsString(data); } public static byte[] decodeBase64(String data) { - return Base64.decodeBase64(data); + return new Base64(true).decode(data); } } diff --git a/bus-qrcode/src/main/java/com/supwisdom/dlpay/busqrcode/QrCode.java b/bus-qrcode/src/main/java/com/supwisdom/dlpay/busqrcode/QrCode.java index 93f6b609..fdbbf727 100644 --- a/bus-qrcode/src/main/java/com/supwisdom/dlpay/busqrcode/QrCode.java +++ b/bus-qrcode/src/main/java/com/supwisdom/dlpay/busqrcode/QrCode.java @@ -209,11 +209,13 @@ public class QrCode { logger.info("======================================================="); } + final String randomStr = getRandomString(6); //随机数 final String totp = genTOTPWithSeed(qrBuilder.seed, 8); final String encDataPlain = new StringJoin(DELIMITER) .add(qrBuilder.uid) .add(qrBuilder.scope) - .add(totp).toString(); + .add(totp) + .add(randomStr).toString(); final byte[] encData = aesEncryptCFB(qrBuilder.rootKey, encDataPlain.getBytes(), qrBuilder.iv); final String code = encodeBase64(encData); @@ -247,7 +249,7 @@ public class QrCode { logger.info("Decode data : <" + encDataPlain + ">"); } String[] fields = encDataPlain.split(DELIMITER); - if (fields.length < 3) { + if (fields.length < 4) { throw new RuntimeException("qrcode plain text format error!"); } String uid = fields[0]; -- 2.17.1