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];
