pull/38/head
kunfei 5 years ago
parent 213b3e772d
commit 9fafda85dc
  1. 9
      app/src/main/java/io/legado/app/help/JsExtensions.kt
  2. 8
      app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt
  3. 44
      app/src/main/java/io/legado/app/utils/MD5Utils.java

@ -2,6 +2,7 @@ package io.legado.app.help
import io.legado.app.model.analyzeRule.AnalyzeUrl import io.legado.app.model.analyzeRule.AnalyzeUrl
import io.legado.app.utils.EncoderUtils import io.legado.app.utils.EncoderUtils
import io.legado.app.utils.MD5Utils
import io.legado.app.utils.StringUtils import io.legado.app.utils.StringUtils
import java.util.regex.Pattern import java.util.regex.Pattern
@ -46,4 +47,12 @@ class JsExtensions {
} }
} }
fun strToMd5By32(str: String?): String? {
return MD5Utils.strToMd5By32(str)
}
fun strToMd5By16(str: String?): String? {
return MD5Utils.strToMd5By16(str)
}
} }

@ -592,6 +592,14 @@ class AnalyzeRule(private var book: BaseBook? = null) {
} }
} }
fun strToMd5By32(str: String?): String? {
return MD5Utils.strToMd5By32(str)
}
fun strToMd5By16(str: String?): String? {
return MD5Utils.strToMd5By16(str)
}
companion object { companion object {
private val putPattern = Pattern.compile("@put:(\\{[^}]+?\\})", Pattern.CASE_INSENSITIVE) private val putPattern = Pattern.compile("@put:(\\{[^}]+?\\})", Pattern.CASE_INSENSITIVE)
private val getPattern = Pattern.compile("@get:\\{([^}]+?)\\}", Pattern.CASE_INSENSITIVE) private val getPattern = Pattern.compile("@get:\\{([^}]+?)\\}", Pattern.CASE_INSENSITIVE)

@ -0,0 +1,44 @@
package io.legado.app.utils;
/**
* Created by newbiechen on 2018/1/1.
*/
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* 将字符串转化为MD5
*/
public class MD5Utils {
public static String strToMd5By32(String str) {
if (str == null) return null;
String reStr = null;
try {
MessageDigest md5 = MessageDigest.getInstance("MD5");
byte[] bytes = md5.digest(str.getBytes());
StringBuilder stringBuffer = new StringBuilder();
for (byte b : bytes) {
int bt = b & 0xff;
if (bt < 16) {
stringBuffer.append(0);
}
stringBuffer.append(Integer.toHexString(bt));
}
reStr = stringBuffer.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return reStr;
}
public static String strToMd5By16(String str) {
String reStr = strToMd5By32(str);
if (reStr != null) {
reStr = reStr.substring(8, 24);
}
return reStr;
}
}
Loading…
Cancel
Save