diff --git a/java/build.gradle b/java/build.gradle
index 8d5987f..15f4636 100644
--- a/java/build.gradle
+++ b/java/build.gradle
@@ -12,7 +12,8 @@
 }
 
 dependencies {
-   implementation 'commons-codec:commons-codec:1.15' 
+    implementation 'commons-codec:commons-codec:1.15' 
+    implementation 'com.eatthepath:java-otp:0.2.0'
 }
 
 application {
diff --git a/java/src/main/java/com/supwisdom/dlsmk/DLSMK.java b/java/src/main/java/com/supwisdom/dlsmk/DLSMK.java
index 419d72f..916d7b2 100644
--- a/java/src/main/java/com/supwisdom/dlsmk/DLSMK.java
+++ b/java/src/main/java/com/supwisdom/dlsmk/DLSMK.java
@@ -1,8 +1,15 @@
 package com.supwisdom.dlsmk;
 
-import java.util.Map;
+import com.eatthepath.otp.TimeBasedOneTimePasswordGenerator;
+
+import javax.crypto.SecretKey;
+import javax.crypto.spec.SecretKeySpec;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.time.Duration;
+import java.time.Instant;
 import java.util.HashMap;
-import org.apache.commons.codec.binary.Base64;
+import java.util.Map;
 
 public class DLSMK {
     static byte[] decodeHex(String hex) {
@@ -26,12 +33,14 @@
     public static void main(String[] args) {
         System.setProperty("java.library.path" , ".");
         System.out.println("Version " + DLSMKQrCode.version());
-        String key = "wDp3_3NPEi-R0peokVv010GkDk1mRTp3tUB_lCEVRAAABQM";
+        String key = "wDp3_3NPEi-R0peokVv010GkDk1mRTp3tUB_lCEVRAAABQo=";
 
-        String qrcode = "Ntd0wHly2IiweNP61JiewTmZ27JM3Vs-vjZaz45Ly8FoE5mB8QfvJBNJOGYsDQsFBrJqutQxVnyGfWcCbocIbWe2MwOdnfjZLLjAMZKQe_cDKntkfU2rJIo93IyS4TdJ";
+        long systimeMillis = 1604469519L * 1000;
+        String qrcode = "Szgp1QkGFy0DJ6mPVg4wMuOE5XuSe7eZrocdPDAs_iq_H7xzb10vQJwRfk6hn6-_fa6SRKRKd00gExbAShJOTgAj2urAPuQm_NxATJs26I4u6khR74iK7oubHjY1Z6qg";
 
         Map<Object, Object> result = new HashMap();
-        if (DLSMKQrCode.decode(key, qrcode, 0L, result)) {
+        long curr = System.currentTimeMillis();
+        if (DLSMKQrCode.decode(key, qrcode, systimeMillis / 1000 - curr / 1000 , result)) {
             System.out.println("Decode OK");
             String cardno = result.get("cardno").toString();
             System.out.format("cardno : %s\n", cardno);
@@ -41,7 +50,10 @@
             System.out.println();
 
             result.clear();
-            DLSMKQrCode.genTac(sign, cardno, 100, "20201102164539", result);
+            int amount = 100;
+            String dt = "20201102164539";
+            DLSMKQrCode.genTac(sign, cardno, amount, dt, result);
+            System.out.format("transaction amount <%d> datetime <%s>\n", amount, dt);
             System.out.format("tac : %s", result.get("tac"));
             System.out.println();
         } else {
