feat: 增加二维码前缀
diff --git a/dlsmk/src/lib.rs b/dlsmk/src/lib.rs
index c8b6cba..9a0c320 100644
--- a/dlsmk/src/lib.rs
+++ b/dlsmk/src/lib.rs
@@ -48,6 +48,8 @@
 
     use dlqrcode::DaliQrCode;
 
+    static QR_PREFIX : &str = "DLSMK_";
+
     fn put_data(env: &JNIEnv, map: &JMap, key: &str, value: &str) {
         map.put(
             *env.new_string(key).unwrap(),
@@ -105,6 +107,18 @@
             }
         };
 
+        if !qrcode.starts_with(QR_PREFIX) {
+            put_data(&env, &qrdata, "error", "qrcode prefix error");
+            return JNI_FALSE;
+        }
+        let qrcode = match qrcode.strip_prefix(QR_PREFIX) {
+            Some(q) => String::from(q),
+            None => {
+                put_data(&env, &qrdata, "error", "qrcode prefix error");
+                return JNI_FALSE;
+            }
+        };
+
         debug!("TOTP step <{}> , skew <{}>", step, skew);
         let decoder = match DaliQrCode::new(key, None, Some(step), Some(skew), None) {
             Ok(d) => d,