ToolsUtils.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package com.zhongzheng.common.utils;
  2. import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
  3. import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
  4. import com.aliyun.teaopenapi.models.Config;
  5. import io.micrometer.core.lang.NonNull;
  6. import java.io.UnsupportedEncodingException;
  7. import java.nio.charset.StandardCharsets;
  8. import java.security.MessageDigest;
  9. import java.security.NoSuchAlgorithmException;
  10. import java.util.Iterator;
  11. import java.util.Random;
  12. public class ToolsUtils {
  13. public static final int EMU_PER_PX = 9525;
  14. /**
  15. * 获取模块编码参数
  16. */
  17. public static String getSmsCode()
  18. {
  19. Random random = new Random();
  20. String result="";
  21. for (int i=0;i<6;i++)
  22. {
  23. result+=random.nextInt(10);
  24. }
  25. return result;
  26. }
  27. public static String join(@NonNull CharSequence delimiter, @NonNull Iterable tokens) {
  28. final Iterator<?> it = tokens.iterator();
  29. if (!it.hasNext()) {
  30. return "";
  31. }
  32. final StringBuilder sb = new StringBuilder();
  33. sb.append(it.next());
  34. while (it.hasNext()) {
  35. sb.append(delimiter);
  36. sb.append(it.next());
  37. }
  38. return sb.toString();
  39. }
  40. public static final int emuToPx(double emu) {
  41. return DoubleUtils.div(emu, EMU_PER_PX).intValue();
  42. }
  43. public static String getEncoding(String str) {
  44. String encode = "GB2312";
  45. try {
  46. if (str.equals(new String(str.getBytes(encode), encode))) {
  47. String s = encode;
  48. return s;
  49. }
  50. } catch (Exception exception) {
  51. }
  52. encode = "ISO-8859-1";
  53. try {
  54. if (str.equals(new String(str.getBytes(encode), encode))) {
  55. String s1 = encode;
  56. return s1;
  57. }
  58. } catch (Exception exception1) {
  59. }
  60. encode = "UTF-8";
  61. try {
  62. if (str.equals(new String(str.getBytes(encode), encode))) {
  63. String s2 = encode;
  64. return s2;
  65. }
  66. } catch (Exception exception2) {
  67. }
  68. encode = "GBK";
  69. try {
  70. if (str.equals(new String(str.getBytes(encode), encode))) {
  71. String s3 = encode;
  72. return s3;
  73. }
  74. } catch (Exception exception3) {
  75. }
  76. return "";
  77. }
  78. /**
  79. * 字符串转换UTF-8编码
  80. *
  81. * @param string 字符串
  82. * @return java.lang.String
  83. * @date 2022/4/14.
  84. */
  85. public static String toUtf8String(String string) {
  86. StringBuilder stringBuffer = new StringBuilder();
  87. for (int i = 0; i < string.length(); i++) {
  88. char c = string.charAt(i);
  89. if (c <= 255) {
  90. stringBuffer.append(c);
  91. } else {
  92. byte[] b;
  93. try {
  94. b = Character.toString(c).getBytes(StandardCharsets.UTF_8);
  95. } catch (Exception ex) {
  96. b = new byte[0];
  97. }
  98. for (int value : b) {
  99. int k = value;
  100. if (k < 0) k += 256;
  101. stringBuffer.append("%").append(Integer.toHexString(k).toUpperCase());
  102. }
  103. }
  104. }
  105. return stringBuffer.toString();
  106. }
  107. public static String StringToMd5(String psw) {
  108. {
  109. try {
  110. MessageDigest md5 = MessageDigest.getInstance("MD5");
  111. md5.update(psw.getBytes("UTF-8"));
  112. byte[] encryption = md5.digest();
  113. StringBuffer strBuf = new StringBuffer();
  114. for (int i = 0; i < encryption.length; i++) {
  115. if (Integer.toHexString(0xff & encryption[i]).length() == 1) {
  116. strBuf.append("0").append(Integer.toHexString(0xff & encryption[i]));
  117. } else {
  118. strBuf.append(Integer.toHexString(0xff & encryption[i]));
  119. }
  120. }
  121. return strBuf.toString();
  122. } catch (NoSuchAlgorithmException e) {
  123. return "";
  124. } catch (UnsupportedEncodingException e) {
  125. return "";
  126. }
  127. }
  128. }
  129. public static String getCharAndNumr(int length) {
  130. Random random = new Random();
  131. StringBuffer valSb = new StringBuffer();
  132. String charStr = "0123456789abcdefghijklmnopqrstuvwxyz";
  133. int charLength = charStr.length();
  134. for (int i = 0; i < length; i++) {
  135. int index = random.nextInt(charLength);
  136. valSb.append(charStr.charAt(index));
  137. }
  138. return valSb.toString();
  139. }
  140. }