车载码内容增加随机数
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 ebb4f05..b04ecd4 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 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 93f6b60..fdbbf72 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 @@
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 @@
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];