main
HuangHai 2 months ago
parent 768251720d
commit 51fe2ef0a1

@ -14,12 +14,10 @@ public class CaptchaUtil {
private static final String FONT_NAME = "Fixedsys";
private static final int FONT_SIZE = 18;
private Random random = new Random();
private final Random random = new Random();
private int width = 80;// 图片宽
private int height = 25;// 图片高
private int lineNum = 5;// 干扰线数量
private int strNum = 4;// 随机产生字符数量
private final int width = 80;// 图片宽
private final int height = 25;// 图片高
/**
*
@ -38,11 +36,15 @@ public class CaptchaUtil {
g.setColor(getRandColor(110, 120));
// 绘制干扰线
// 干扰线数量
int lineNum = 5;
for (int i = 0; i < lineNum; i++) {
drowLine(g);
}
// 绘制随机字符
g.setFont(new Font(FONT_NAME, Font.ROMAN_BASELINE, FONT_SIZE));
g.setFont(new Font(FONT_NAME, Font.PLAIN, FONT_SIZE));
// 随机产生字符数量
int strNum = 4;
for (int i = 1; i <= strNum; i++) {
randomCode.append(drowString(g, i));
}
@ -54,10 +56,10 @@ public class CaptchaUtil {
*
*/
private Color getRandColor(int fc, int bc) {
if (fc > 255){
if (fc > 255) {
fc = 255;
}
if (bc > 255){
if (bc > 255) {
bc = 255;
}
int r = fc + random.nextInt(bc - fc);
@ -72,8 +74,7 @@ public class CaptchaUtil {
private String drowString(Graphics g, int i) {
g.setColor(new Color(random.nextInt(101), random.nextInt(111), random
.nextInt(121)));
String rand = String.valueOf(getRandomString(random.nextInt(RANDOM_STRS
.length())));
String rand = getRandomString(random.nextInt(RANDOM_STRS.length()));
g.translate(random.nextInt(3), random.nextInt(3));
g.drawString(rand, 13 * i, 16);
return rand;

@ -1,17 +1,12 @@
package com.dsideal.Sso.Util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.alibaba.fastjson.JSONObject;
import com.dsideal.Sso.Model.Login;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.Record;
public class CommonUtil {
/**
@ -29,71 +24,6 @@ public class CommonUtil {
return map;
}
public static Map<String, Object> returnMessageJson(boolean result, JSONObject jo) {
Map<String, Object> map = new HashMap<>();
map.put("success", result);
map.put("result", jo);
return map;
}
public static Map<String, Object> returnMessageJson(boolean result, List<Record> list) {
Map<String, Object> map = new HashMap<>();
map.put("success", result);
map.put("result", list);
return map;
}
/**
* Map
*
* @param strUrlParam
* @return
*/
public static Map<String, String> urlSplit(String strUrlParam) {
Map<String, String> mapRequest = new HashMap<>();
String[] arrSplit = null;
arrSplit = strUrlParam.split("[&]");
for (String strSplit : arrSplit) {
String[] arrSplitEqual = null;
arrSplitEqual = strSplit.split("[=]");
if (arrSplitEqual.length > 1) {
mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);
} else {
if (arrSplitEqual[0] != "") {
mapRequest.put(arrSplitEqual[0], "");
}
}
}
return mapRequest;
}
/**
* Map<String, Object>Map<String, String>
*
* @param mapValueStr
* @return
*/
public static Map<String, Object> MapValueStringToObject(Map<String, String> mapValueStr) {
Map<String, Object> mapValueObj = new HashMap<>();
for (Map.Entry<String, String> entry : mapValueStr.entrySet()) {
mapValueObj.put(entry.getKey(), entry.getValue());
}
return mapValueObj;
}
/**
* Map<String, String>Map<String, Object>
*
* @param mapValueObj
* @return
*/
public static Map<String, String> MapValueObjectToString(Map<String, Object> mapValueObj) {
Map<String, String> mapValueStr = new HashMap<>();
for (Map.Entry<String, Object> entry : mapValueObj.entrySet()) {
mapValueStr.put(entry.getKey(), entry.getValue().toString());
}
return mapValueStr;
}
/**
* 6
*
@ -102,11 +32,10 @@ public class CommonUtil {
public static String getRandom() {
String sources = "0123456789";
Random rand = new Random();
StringBuffer flag = new StringBuffer();
StringBuilder flag = new StringBuilder();
for (int j = 0; j < 6; j++) {
flag.append(sources.charAt(rand.nextInt(9)) + "");
flag.append(sources.charAt(rand.nextInt(9)));
}
return flag.toString();
}
@ -132,29 +61,6 @@ public class CommonUtil {
}
}
/**
*
*
* 2018-11-22
*
* @param file
* @return
*/
public static String txt2String(File file) {
StringBuilder result = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
String s = null;
while ((s = br.readLine()) != null) {//使用readLine方法一次读一行
result.append(System.lineSeparator() + s);
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
return result.toString();
}
/**
*
*
@ -162,7 +68,6 @@ public class CommonUtil {
* @return
*/
public static boolean getIsEmailLegal(String eMail) {
boolean flag = false;
try {
String regExp = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
Pattern p = Pattern.compile(regExp);
@ -182,7 +87,6 @@ public class CommonUtil {
* @return
*/
public static boolean getPwdLegal(String pwd) {
boolean flag = false;
try {
String regExp = "[a-z0-9A-Z]+";
Pattern p = Pattern.compile(regExp);
@ -258,49 +162,32 @@ public class CommonUtil {
return nowTime;
}
/**
* 6
*
* 2018-11-27
*
* @return
*/
public static String getSixRandom() {
String sources = "0123456789";
Random rand = new Random();
StringBuffer flag = new StringBuffer();
for (int j = 0; j < 6; j++) {
flag.append(sources.charAt(rand.nextInt(9)) + "");
}
return flag.toString();
}
public static String handleRedirectUrlParas(String redirect_url) {
String redirectUrl = redirect_url;
String[] paras = redirect_url.split("\\?");
if (paras.length > 1) {
String uri = paras[0];
StringBuilder uri = new StringBuilder(paras[0]);
Map<String, String> parasMap = URLRequest(redirect_url);
for (Map.Entry<String, String> entry : parasMap.entrySet()) {
if (!entry.getKey().equals(PropKit.get("sso.sessionid"))) {
if (uri.indexOf("?") == -1) {
uri += "?"+entry.getKey()+"="+entry.getValue();
if (!uri.toString().contains("?")) {
uri.append("?").append(entry.getKey()).append("=").append(entry.getValue());
}else{
uri += "&"+entry.getKey()+"="+entry.getValue();
uri.append("&").append(entry.getKey()).append("=").append(entry.getValue());
}
}
}
redirectUrl = uri;
redirectUrl = uri.toString();
}
return redirectUrl;
}
private static Map<String, String> URLRequest(String URL) {
Map<String, String> mapRequest = new HashMap<String, String>();
Map<String, String> mapRequest = new HashMap<>();
String[] arrSplit = null;
String[] arrSplit;
String strUrlParam = TruncateUrlPage(URL);
if (strUrlParam == null) {
@ -329,7 +216,7 @@ public class CommonUtil {
private static String TruncateUrlPage(String strURL) {
String strAllParam = null;
String[] arrSplit = null;
String[] arrSplit;
strURL = strURL.trim();
@ -341,9 +228,6 @@ public class CommonUtil {
}
}
}
return strAllParam;
}
}

@ -1,47 +0,0 @@
package com.dsideal.Sso.Util;
import com.alibaba.fastjson.JSONObject;
import com.jfinal.kit.PropKit;
public class ThirdUtil {
public static String getQqOpenId(String code) {
String qqOpenId = "";
String accessTokenUrl = "https://graph.qq.com/oauth2.0/token";
String accessTokenParams = String.format(
"grant_type=authorization_code&client_id=%s&client_secret=%s&code=%s&redirect_uri=%s",
PropKit.get("qq.app.id"), PropKit.get("qq.app.key"), code, PropKit.get("qq.redirect.uri"));
String qqStrAccessToken = HttpRequest.sendGet(accessTokenUrl, accessTokenParams);
if (qqStrAccessToken.length() > 0) {
String accessToken = CommonUtil.urlSplit(qqStrAccessToken).get("access_token");
if (accessToken != null) {
String openIdUrl = "https://graph.qq.com/oauth2.0/me";
String openIdParams = String.format("access_token=%s", accessToken);
String qqStrOpenId = HttpRequest.sendGet(openIdUrl, openIdParams);
if (qqStrOpenId.length() > 0) {
int bInt = qqStrOpenId.indexOf("(");
int eInt = qqStrOpenId.indexOf(")");
JSONObject qqObjJson = JSONObject.parseObject(qqStrOpenId.substring(bInt + 1, eInt));
qqOpenId = qqObjJson.getString("openid");
}
}
}
return qqOpenId;
}
public static String getWxOpenId(String code) {
String wxOpenId = "";
String accessTokenUrl = "https://api.weixin.qq.com/sns/oauth2/access_token";
String accessTokenParams = String.format("appid=%s&secret=%s&code=%s&grant_type=authorization_code",
PropKit.get("wx.app.id"), PropKit.get("wx.app.secret"), code);
String wxStrJson = HttpRequest.sendGet(accessTokenUrl, accessTokenParams);
if (wxStrJson.length() > 0) {
JSONObject wxObjJson = JSONObject.parseObject(wxStrJson);
wxOpenId = wxObjJson.getString("openid");
}
return wxOpenId;
}
}
Loading…
Cancel
Save