From f65443d8abeaedc9d102324565e8368e7c9d90c8 Mon Sep 17 00:00:00 2001 From: 郑永安 <zyazyz250@sina.com> Date: 星期一, 19 六月 2023 14:41:54 +0800 Subject: [PATCH] commit --- src/main/java/com/gk/firework/Domain/Utils/StringUtils.java | 219 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 219 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gk/firework/Domain/Utils/StringUtils.java b/src/main/java/com/gk/firework/Domain/Utils/StringUtils.java new file mode 100644 index 0000000..a2a9b4a --- /dev/null +++ b/src/main/java/com/gk/firework/Domain/Utils/StringUtils.java @@ -0,0 +1,219 @@ +package com.gk.firework.Domain.Utils; + +import sun.misc.BASE64Encoder; + +import java.math.BigInteger; +import java.nio.charset.Charset; +import java.security.MessageDigest; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 继承自Spring util的工具类,减少jar依赖 + * @author L.cm + */ +public class StringUtils extends org.springframework.util.StringUtils { + /** + * Check whether the given {@code CharSequence} contains actual <em>text</em>. + * <p>More specifically, this method returns {@code true} if the + * {@code CharSequence} is not {@code null}, its length is greater than + * 0, and it contains at least one non-whitespace character. + * <p><pre class="code"> + * StringUtils.isBlank(null) = true + * StringUtils.isBlank("") = true + * StringUtils.isBlank(" ") = true + * StringUtils.isBlank("12345") = false + * StringUtils.isBlank(" 12345 ") = false + * </pre> + * @param str the {@code CharSequence} to check (may be {@code null}) + * @return {@code true} if the {@code CharSequence} is not {@code null}, + * its length is greater than 0, and it does not contain whitespace only + * @see Character#isWhitespace + */ + public static boolean isBlank(final CharSequence cs) { + return !StringUtils.isNotBlank(cs); + } + + /** + * <p>Checks if a CharSequence is not empty (""), not null and not whitespace only.</p> + * + * <pre> + * StringUtils.isNotBlank(null) = false + * StringUtils.isNotBlank("") = false + * StringUtils.isNotBlank(" ") = false + * StringUtils.isNotBlank("bob") = true + * StringUtils.isNotBlank(" bob ") = true + * </pre> + * + * @param cs the CharSequence to check, may be null + * @return {@code true} if the CharSequence is + * not empty and not null and not whitespace + * @see Character#isWhitespace + */ + public static boolean isNotBlank(final CharSequence cs) { + return StringUtils.hasText(cs); + } + + /** + * Convert a {@code Collection} into a delimited {@code String} (e.g. CSV). + * <p>Useful for {@code toString()} implementations. + * @param coll the {@code Collection} to convert + * @param delim the delimiter to use (typically a ",") + * @return the delimited {@code String} + */ + public static String join(Collection<?> coll, String delim) { + return StringUtils.collectionToDelimitedString(coll, delim); + } + + /** + * Convert a {@code String} array into a delimited {@code String} (e.g. CSV). + * <p>Useful for {@code toString()} implementations. + * @param arr the array to display + * @param delim the delimiter to use (typically a ",") + * @return the delimited {@code String} + */ + public static String join(Object[] arr, String delim) { + return StringUtils.arrayToDelimitedString(arr, delim); + } + + public static List<String> toList(String id) { + List<String> list = new ArrayList<String>(); + String[] str = id.split(","); + for (int i = 0; i < str.length; i++) { + list.add(str[i]); + } + return list; + } + + public static String todbstr(String str) { + return "'"+ str +"'"; + } + + public static String MD5Encoder(String s,String charset){ + try{ + byte[] btInput = s.getBytes(charset); + MessageDigest mdInst = MessageDigest.getInstance("MD5"); + mdInst.update(btInput); + + byte[] md = mdInst.digest(); + StringBuffer sb = new StringBuffer(); + for(int i =0 ;i<md.length;i++) + { + int val = ((int)md[i]) & 0xff; + if(val<16){ + sb.append("0"); + } + sb.append(Integer.toHexString(val)); + } + return sb.toString(); + } + catch (Exception e) + { + return null; + } + } + + public static String getMD5(String str) { + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(str.getBytes()); + // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符 + // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值 + return new BigInteger(1, md.digest()).toString(16); + } catch (Exception e) { + return ""; + } + } + + public static String MD5OpenApiEncoder(String s,String charset){ + try{ + byte[] btInput = s.getBytes(charset); + MessageDigest mdInst = MessageDigest.getInstance("MD5"); + mdInst.update(btInput); + + byte[] md = mdInst.digest(); + StringBuffer sb = new StringBuffer(); + for(int i =0 ;i<md.length;i++) + { + int val = ((int)md[i]) & 0xff; + if(val<16){ + sb.append("0"); + } + sb.append(Integer.toHexString(val)); + } + return sb.toString(); + } + catch (Exception e) + { + return null; + } + } + + public static String md5(String message) { + try { + MessageDigest md; + + md = MessageDigest.getInstance("md5"); + byte m5[] = md.digest(message.getBytes()); + BASE64Encoder encoder = new BASE64Encoder(); + return encoder.encode(m5); + } catch (Exception e) { + // TODO Auto-generated catch block + return ""; + } + } + + public static Boolean isSame(String str1,String str2) + { + + if(StringUtils.isNotBlank(str1) && StringUtils.isBlank(str2)) + { + return false; + } + else if(StringUtils.isBlank(str1) && StringUtils.isNotBlank(str2)) + { + return false; + } + else if(StringUtils.isBlank(str1) && StringUtils.isBlank(str2)) + { + return true; + } + else { + if(!str1.equals(str2)) { + return false; + } + else { + return true; + } + } + } + + public static boolean isContainChinese(String str){ + + if (StringUtils.isBlank(str)) { + return false; + } + Pattern p = Pattern.compile("[\u4E00-\u9FA5|\\!|\\,|\\。|\\(|\\)|\\《|\\》|\\“|\\”|\\?|\\:|\\;|\\【|\\】]"); + Matcher m = p.matcher(str); + if (m.find()) { + return true; + } + return false; + } + + public static String ytoMd5(String sourceStr) { + String result = ""; + try { + MessageDigest md5 = MessageDigest.getInstance("MD5"); + byte[] bytes = md5.digest((sourceStr).getBytes(Charset.forName("utf-8"))); + result = new String(org.apache.commons.codec.binary.Base64.encodeBase64(bytes),"utf-8"); + + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } +} -- Gitblit v1.9.2