From e8232424de65da0254ce9637e19af9a4a6527964 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 22 三月 2024 15:31:42 +0800
Subject: [PATCH] 密码修改成保存MD5类型的

---
 easysocket/src/main/java/com/easysocket/connection/iowork/EasyReader.java |    2 
 app/src/main/java/com/dayu/recharge/activity/LoginActivity.java           |    3 
 app/src/main/java/com/dayu/recharge/view/ProgressDialog.java              |   19 +++++-
 app/src/main/java/com/dayu/recharge/card/UserCard.java                    |  115 ++++++++++++++++++++------------------
 app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java        |   13 +++
 app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java        |    5 +
 6 files changed, 93 insertions(+), 64 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java b/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
index 3d59c16..8d0138b 100644
--- a/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
@@ -16,6 +16,7 @@
 import com.dayu.recharge.databinding.ActivityLoginBinding;
 import com.dayu.recharge.dbBean.PassWordBean;
 import com.dayu.recharge.utils.TipUtil;
+import com.dayu.recharge.utils.WSMD5;
 import com.hjq.permissions.OnPermissionCallback;
 import com.hjq.permissions.Permission;
 import com.hjq.permissions.XXPermissions;
@@ -54,7 +55,7 @@
                     return;
                 }
                 if ((passWordBean == null && psStr.equals("123456"))
-                        || passWordBean != null && passWordBean.getPassWord().equals(psStr)) {
+                        || passWordBean != null && passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(psStr))) {
                     startActivity(new Intent(LoginActivity.this, HomeActivity.class));
                     LoginActivity.this.finish();
                 } else {
diff --git a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
index 548f272..7d23e6d 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -6,6 +6,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
+import android.view.View;
 import android.widget.Toast;
 
 import com.dayu.recharge.MyApplication;
@@ -41,6 +42,7 @@
 import com.dayu.recharge.utils.MyCommon;
 import com.dayu.recharge.utils.SocketUtil;
 import com.dayu.recharge.utils.TipUtil;
+import com.dayu.recharge.view.ProgressDialog;
 import com.tencent.bugly.crashreport.CrashReport;
 
 import java.util.Arrays;
@@ -53,7 +55,7 @@
  * Description: nfc鍐欏崱鐣岄潰
  */
 public class NFCWreatActivity extends BaseNfcActivity {
-
+    public static String TAG = "NFCWreatActivity";
 
     boolean cleanFlag = false;
     boolean userFlag = false;
@@ -334,6 +336,7 @@
     }
 
     void startAnim() {
+        binding.avi.setVisibility(View.VISIBLE);
         binding.avi.show();
         // or avi.smoothToShow();
     }
@@ -551,8 +554,9 @@
      * @param initPeasantCode 鍐滄埛娉ㄥ唽缂栧彿
      */
     private void selectBalance(String initPeasantCode) {
-
+        Log.i(TAG, "琛ュ崱鏌ヨ浣欓:鍐滄埛娉ㄥ唽缂栧彿 " + initPeasantCode);
         try {
+            startAnim();
             BalanceSelecteRequestBean requestBean = new BalanceSelecteRequestBean();
             requestBean.setAFN("94");
             requestBean.setControl("01");
@@ -631,17 +635,22 @@
                         //鏍¢獙CRC閿欒
                         TipUtil.show(NFCWreatActivity.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒");
                     }
+                    stopAnim();
+
                 }
 
                 @Override
                 public void onSocketError(int code, String msg) {
                     stopAnim();
+
                     TipUtil.show(NFCWreatActivity.this, msg);
                 }
             });
         } catch (Exception e) {
             e.printStackTrace();
             CrashReport.postCatchedException(e);
+            stopAnim();
+            ProgressDialog.dismiss();
         }
 
     }
diff --git a/app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java b/app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java
index b2936f4..c24d836 100644
--- a/app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/PassWordActivity.java
@@ -35,14 +35,15 @@
 
                     if (!TextUtils.isEmpty(pswBinding.pswNew.getText().toString()) && !TextUtils.isEmpty(pswBinding.pswOld.getText().toString()) && !TextUtils.isEmpty(pswBinding.pswNewAgin.getText().toString())) {
                         if ((passWordBean != null
-                                && (passWordBean.getPassWord().equals(pswBinding.pswOld.getText().toString())
+                                && (passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(pswBinding.pswOld.getText().toString()))
                                 || WSMD5.getMD5Str(pswBinding.pswOld.getText().toString()).equals("8af357996269a1b52b182a839150097d")))
                                 || passWordBean == null) {
                             if (passWordBean == null) {
                                 passWordBean = new PassWordBean();
                             }
                             if (pswBinding.pswNew.getText().toString().equals(pswBinding.pswNewAgin.getText().toString())) {
-                                passWordBean.setPassWord(pswBinding.pswNewAgin.getText().toString());
+                                String passWord = WSMD5.getMD5Str(pswBinding.pswNewAgin.getText().toString());
+                                passWordBean.setPassWord(passWord);
                                 baseDao.loginPsDao().insert(passWordBean);
                                 TipUtil.show(PassWordActivity.this, "瀵嗙爜淇敼瀹屾垚", () -> {
                                     PassWordActivity.this.finish();
diff --git a/app/src/main/java/com/dayu/recharge/card/UserCard.java b/app/src/main/java/com/dayu/recharge/card/UserCard.java
index 22ea997..9a30ac5 100644
--- a/app/src/main/java/com/dayu/recharge/card/UserCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/UserCard.java
@@ -56,67 +56,72 @@
      */
     public static UserCard getBean(List<byte[]> data) {
         try {
-            UserCard userCard = new UserCard();
+
             if (data != null) {
                 byte[] zero = data.get(0);
                 byte[] one = data.get(1);
                 byte[] two = data.get(2);
-                userCard.cardType = HexUtil.byteToHex(zero[0]);
-                userCard.rechargeTimes = HexUtil.get16to10(HexUtil.byteToHex(zero[1]));
-                byte[] swipeNumberBytes = new byte[2];
-                System.arraycopy(zero,2,swipeNumberBytes,0,swipeNumberBytes.length);
-                String swipeNumberHex = HexUtil.bytesToHex(swipeNumberBytes);
-                userCard.swipeNumber = (short) HexUtil.get16to10(swipeNumberHex);
-                byte[] electricityPriceBytes = new byte[4];
-                System.arraycopy(zero,4,electricityPriceBytes,0,electricityPriceBytes.length);
+                if (zero != null && zero.length == 16) {
+                    UserCard userCard = new UserCard();
+                    userCard.cardType = HexUtil.byteToHex(zero[0]);
+                    userCard.rechargeTimes = HexUtil.get16to10(HexUtil.byteToHex(zero[1]));
+                    byte[] swipeNumberBytes = new byte[2];
+                    System.arraycopy(zero, 2, swipeNumberBytes, 0, swipeNumberBytes.length);
+                    String swipeNumberHex = HexUtil.bytesToHex(swipeNumberBytes);
+                    userCard.swipeNumber = (short) HexUtil.get16to10(swipeNumberHex);
+                    byte[] electricityPriceBytes = new byte[4];
+                    System.arraycopy(zero, 4, electricityPriceBytes, 0, electricityPriceBytes.length);
 
-                userCard.electricityPrice = HexUtil.hexToFloat(HexUtil.bytesToHex(electricityPriceBytes));
-                userCard.state = BcdUtil.bcdToStr(zero[8]);
-                byte[] balanceBytes = new byte[4];
-                System.arraycopy(zero,9,balanceBytes,0,balanceBytes.length);
+                    userCard.electricityPrice = HexUtil.hexToFloat(HexUtil.bytesToHex(electricityPriceBytes));
+                    userCard.state = BcdUtil.bcdToStr(zero[8]);
+                    byte[] balanceBytes = new byte[4];
+                    System.arraycopy(zero, 9, balanceBytes, 0, balanceBytes.length);
 
-                userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceBytes));
-                byte[] addressCodeBytes = new byte[6];
-                System.arraycopy(zero,13,addressCodeBytes,0,2);
-                System.arraycopy(two,11,addressCodeBytes,2,4);
-                userCard.addressCode = BcdUtil.bcdToStr(addressCodeBytes);
+                    userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceBytes));
+                    byte[] addressCodeBytes = new byte[6];
+                    System.arraycopy(zero, 13, addressCodeBytes, 0, 2);
+                    System.arraycopy(two, 11, addressCodeBytes, 2, 4);
+                    userCard.addressCode = BcdUtil.bcdToStr(addressCodeBytes);
 
-                int year = 0;
-                int month = 0;
-                int day = 0;
-                int hour = 0;
-                int minute = 0;
-                int second = 0;
-                for (int i = 0; i < 6; i++) {
-                    byte byteData = one[i + 4];
-                    switch (i) {
-                        case 0:
-                            year = getBcdToInt(byteData);
-                            break;
-                        case 1:
-                            month = getBcdToInt(byteData);
-                            break;
-                        case 2:
-                            day = getBcdToInt(byteData);
-                            break;
-                        case 3:
-                            hour = getBcdToInt(byteData);
-                            break;
-                        case 4:
-                            minute = getBcdToInt(byteData);
-                            break;
-                        case 5:
-                            second = getBcdToInt(byteData);
-                            break;
+                    int year = 0;
+                    int month = 0;
+                    int day = 0;
+                    int hour = 0;
+                    int minute = 0;
+                    int second = 0;
+                    for (int i = 0; i < 6; i++) {
+                        byte byteData = one[i + 4];
+                        switch (i) {
+                            case 0:
+                                year = getBcdToInt(byteData);
+                                break;
+                            case 1:
+                                month = getBcdToInt(byteData);
+                                break;
+                            case 2:
+                                day = getBcdToInt(byteData);
+                                break;
+                            case 3:
+                                hour = getBcdToInt(byteData);
+                                break;
+                            case 4:
+                                minute = getBcdToInt(byteData);
+                                break;
+                            case 5:
+                                second = getBcdToInt(byteData);
+                                break;
+                        }
                     }
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.set(2000 + year, month, day, hour, minute, second);
+                    byte[] initPeasantCodeBytes = new byte[16];
+                    System.arraycopy(one, 10, initPeasantCodeBytes, 0, 5);
+                    System.arraycopy(two, 0, initPeasantCodeBytes, 5, 11);
+                    userCard.initPeasantCode = HexUtil.bytesToHex(initPeasantCodeBytes);
+                    return userCard;
                 }
-                Calendar calendar = Calendar.getInstance();
-                calendar.set(2000 + year, month, day, hour, minute, second);
-                byte[] initPeasantCodeBytes = new byte[16];
-                System.arraycopy(one,10,initPeasantCodeBytes,0,5);
-                System.arraycopy(two,0,initPeasantCodeBytes,5,11);
-                userCard.initPeasantCode = HexUtil.bytesToHex(initPeasantCodeBytes);
-                return userCard;
+
+                return null;
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -134,7 +139,7 @@
     /**
      * 鐢ㄦ埛鍗�0鍧�
      */
-    public class Zero  {
+    public class Zero {
         public byte[] toByte() {
             byte[] data = new byte[16];
             data[0] = HexUtil.hexToByte(cardType);
@@ -169,7 +174,7 @@
     /**
      * 鐢ㄦ埛鍗�1鍧�
      */
-    public class One  {
+    public class One {
 
         public byte[] toBytes() {
             byte[] data = new byte[16];
@@ -213,7 +218,7 @@
     /**
      * 鐢ㄦ埛鍗�2鍧�
      */
-    public class Two  {
+    public class Two {
         public byte[] toBytes() {
             byte[] data = new byte[16];
             byte[] initPeasantCodes = HexUtil.hexToByteArray(initPeasantCode);
diff --git a/app/src/main/java/com/dayu/recharge/view/ProgressDialog.java b/app/src/main/java/com/dayu/recharge/view/ProgressDialog.java
index 70e6aac..4ac546d 100644
--- a/app/src/main/java/com/dayu/recharge/view/ProgressDialog.java
+++ b/app/src/main/java/com/dayu/recharge/view/ProgressDialog.java
@@ -5,6 +5,7 @@
 import android.content.Context;
 
 import com.dayu.recharge.activity.NewCardActivity;
+import com.tencent.bugly.crashreport.CrashReport;
 
 /**
  * Created by Android Studio.
@@ -17,13 +18,23 @@
     static Dialog dialog;
 
     public static void show(Activity activity) {
-        dialog = android.app.ProgressDialog.show(activity, "", "姝e湪閫氫俊璇风◢鍚�", true, true);
+        try {
+            dialog = android.app.ProgressDialog.show(activity, "", "姝e湪閫氫俊璇风◢鍚�", true, true);
+        } catch (Exception e) {
+            e.printStackTrace();
+            CrashReport.postCatchedException(e);
+        }
     }
 
     public static void dismiss() {
-        if (dialog != null) {
-            dialog.dismiss();
-            dialog = null;
+        try {
+            if (dialog != null && dialog.isShowing()) {
+                dialog.dismiss();
+                dialog = null;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            CrashReport.postCatchedException(e);
         }
     }
 }
diff --git a/easysocket/src/main/java/com/easysocket/connection/iowork/EasyReader.java b/easysocket/src/main/java/com/easysocket/connection/iowork/EasyReader.java
index 00677a8..8046180 100644
--- a/easysocket/src/main/java/com/easysocket/connection/iowork/EasyReader.java
+++ b/easysocket/src/main/java/com/easysocket/connection/iowork/EasyReader.java
@@ -196,6 +196,7 @@
                 // 鍋滄绾跨▼
                 stopThread = true;
                 release();
+                LogUtil.i("reader鍋滄绾跨▼");
                 CrashReport.postCatchedException(unrecoverableException);
             } catch (ReadRecoverableExeption readRecoverableExeption) {
                 readRecoverableExeption.printStackTrace();
@@ -289,6 +290,7 @@
 
     // 閲婃斁璧勬簮
     private void release() {
+        LogUtil.i("reader绾跨▼閲婃斁璧勬簮");
         if (originBuf != null) {
             originBuf = null;
         }

--
Gitblit v1.8.0