詹子聪 6 лет назад
Родитель
Сommit
5a7ba5788c

+ 42 - 0
app/src/main/java/com/itant/shibei/tool/MD5Tool.java

@@ -0,0 +1,42 @@
+package com.itant.shibei.tool;
+
+
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+/**
+ * Copyright (C), 2019-2020, Miekir
+ *
+ * @author Miekir
+ * @date 2020/8/7 18:37
+ * Description: md5工具
+ */
+public class MD5Tool {
+    private MD5Tool(){}
+
+    /**
+     * 将字符串转成MD5值
+     * @param string
+     * @return
+     */
+    public static String stringToMD5(String string) {
+        byte[] hash;
+        try {
+            hash = MessageDigest.getInstance("MD5").digest(string.getBytes(StandardCharsets.UTF_8));
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+            return null;
+        }
+
+        StringBuilder hex = new StringBuilder(hash.length * 2);
+        for (byte b : hash) {
+            if ((b & 0xFF) < 0x10) {
+                hex.append(0);
+            }
+            hex.append(Integer.toHexString(b & 0xFF));
+        }
+        return hex.toString();
+    }
+
+}

+ 7 - 4
app/src/main/java/com/itant/shibei/tool/StringTool.java

@@ -4,6 +4,7 @@ import android.util.Base64;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.nio.charset.StandardCharsets;
 import java.text.DecimalFormat;
 
 /**
@@ -20,13 +21,15 @@ public class StringTool {
     public static String getShowMoney(double number) {
         return FORMAT_TWO.format(number);
     }
+
     public static String getEncodeString(String rawString) {
-        String base64String = Base64.encodeToString(rawString.getBytes(), Base64.NO_WRAP);
+        String base64String = Base64.encodeToString(rawString.getBytes(StandardCharsets.UTF_8), Base64.NO_WRAP);
         StringBuilder stringBuffer = new StringBuilder(base64String);
-        if (base64String.length() > 1) {
-            stringBuffer.deleteCharAt(base64String.length()/2);
+        if (base64String.length() > 0) {
+            stringBuffer.setCharAt(base64String.length()/2, 's');
         }
-        return stringBuffer.toString();
+        String base64Reverse = stringBuffer.reverse().toString();
+        return MD5Tool.stringToMD5(base64Reverse);
     }
 
     /**

+ 4 - 0
app/src/main/java/com/itant/shibei/ui/mine/forget/ForgetActivity.java

@@ -93,6 +93,10 @@ public class ForgetActivity extends BaseBeiActivity implements View.OnClickListe
                 }
 
                 String encodePassword = StringTool.getEncodeString(password);
+                if (TextUtils.isEmpty(encodePassword)) {
+                    ToastTool.showShort("该手机不支持加密算法");
+                    return;
+                }
                 showLoading();
                 mForgetPresenter.submitReset(email, code, encodePassword);
                 break;

+ 4 - 0
app/src/main/java/com/itant/shibei/ui/mine/goods/AddGoodsActivity.java

@@ -103,6 +103,10 @@ public class AddGoodsActivity extends BaseBeiActivity implements View.OnClickLis
                 }
 
                 password = StringTool.getEncodeString(password);
+                if (TextUtils.isEmpty(password)) {
+                    ToastTool.showShort("该手机不支持加密算法");
+                    return;
+                }
                 showLoading();
                 presenter.submitLogin(email, password);
                 break;

+ 4 - 0
app/src/main/java/com/itant/shibei/ui/mine/login/LoginActivity.java

@@ -105,6 +105,10 @@ public class LoginActivity extends BaseBeiActivity implements View.OnClickListen
                 }
 
                 password = StringTool.getEncodeString(password);
+                if (TextUtils.isEmpty(password)) {
+                    ToastTool.showShort("该手机不支持加密算法");
+                    return;
+                }
                 showLoading();
                 presenter.submitLogin(email, password);
                 break;

+ 4 - 0
app/src/main/java/com/itant/shibei/ui/mine/register/fill/FillDataActivity.java

@@ -66,6 +66,10 @@ public class FillDataActivity extends BaseBeiActivity implements IRegisterView {
         }
 
         String encodeString = StringTool.getEncodeString(password);
+        if (TextUtils.isEmpty(encodeString)) {
+            ToastTool.showShort("该手机不支持加密算法");
+            return;
+        }
         mBeiUser = new BeiUser();
         mBeiUser.email = email;
         mBeiUser.password = encodeString;