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