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