lishuangjiang@potevio.com 1 ano atrás
pai
commit
998288779d

+ 55 - 0
iot-starter/src/main/java/cc/iotkit/util/RizhaoSsoUtils.java

@@ -0,0 +1,55 @@
+package cc.iotkit.util;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+
+import java.security.MessageDigest;
+
+public class RizhaoSsoUtils {
+    private static String privateKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJPkVRPbqygVy2uopm4PadGqmHfIsHIDab1LmG78/H27NBqXj8cDYLvjkeELsBd2qjlM4XGEVKbNOrxQs+nqVjtsX/LlinU6V+iFABmKEx1F4cO5VZIYHdAB7wRQqRNWw6i4IxESwagaNyrrVyJL/8pqGwusE1wEebCxhrAzW0/9AgMBAAECgYAbZ4QcWegtVVyMZoPwgQqqv2HhUF7hwaAmY4urhVWENtxA0TTjO80BA/pUKUZIEsUYORbNYigNgJoRqyKrhbDUqeiNsT7nEmSjsOjQIaTVgXlmddeWuCAcFa47d6a9aRfF3JbejkQZiYxnbcAN1jtZ5MAt0m6Ztxl22G+TV8bqQQJBAMmAktcWxrCQvteElFIlXW6ljXzukw72mv3/bl2aX05+Ki72umFyUVOsBxtHB7pDPzts/vzKjCiMfcJ7f2WFcp8CQQC74+/e92KfHg3nO2oD4css7ctVELk5PbdsRusoo61KRS3VIaXYt2VUFA6v3O3qP77I8covMPIkYEG7+mpTLzPjAkAG/qqaQtUk3fFyA80uSNPEeoS92H5MX60jshE/uJMkY2bNeI0hwtkl4Wvhu4Z+JcV1J6R2XAWfhrj63lSezpIbAkB2qlQB3v5DfmjLhKPFReLbQmgsFn7VHxxsXzIAHbfBc4Wp2TF0eQefHXfVLFR6oL3vDX5jZadYwA5kGZjzZpl/AkBlQwIkWIovI3aRBbIMuPGctTTfgIrP2Rk6Vp/EFYWPvGkr10W2+4FhD5kf86tTH6RJpXSc4Enr9J7FapmHvyyZ";
+    private static String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCT5FUT26soFctrqKZuD2nRqph3yLByA2m9S5hu/Px9uzQal4/HA2C745HhC7AXdqo5TOFxhFSmzTq8ULPp6lY7bF/y5Yp1OlfohQAZihMdReHDuVWSGB3QAe8EUKkTVsOouCMREsGoGjcq61ciS//KahsLrBNcBHmwsYawM1tP/QIDAQAB";
+
+    public static String getUsername(String code){
+        //{userName:"abc",nowDate:"2023-12-28 14:53"}
+        try {
+            String data = RsaUtil.decrypt(code, RsaUtil.getPriKey());
+            JSONObject json = JSON.parseObject(data);
+            return json.getString("userName");
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    public final static String MD5(String s) {
+        char hexDigits[] = { '0', '1', '2', '3', '4',
+                '5', '6', '7', '8', '9',
+                'A', 'B', 'C', 'D', 'E', 'F'};
+        try {
+            byte[] btInput = s.getBytes();
+            MessageDigest mdInst = MessageDigest.getInstance("MD5");
+            mdInst.update(btInput);
+            byte[] md = mdInst.digest();
+            int j = md.length;
+            char str[] = new char[j * 2];
+            int k = 0;
+            for (int i = 0; i < j; i++) {
+                byte byte0 = md[i];
+                str[k++] = hexDigits[byte0 >>> 4 & 0xf];
+                str[k++] = hexDigits[byte0 & 0xf];
+            }
+            return new String(str);
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    public static void main(String[] args) {
+        String md5 = MD5("admin"+"876456");
+        System.out.println(md5);
+    }
+
+}

+ 127 - 0
iot-starter/src/main/java/cc/iotkit/util/RsaUtil.java

@@ -0,0 +1,127 @@
+package cc.iotkit.util;
+
+
+import org.apache.commons.codec.binary.Base64;
+
+import javax.crypto.Cipher;
+import java.security.KeyFactory;
+import java.security.interfaces.RSAPrivateKey;
+import java.security.spec.PKCS8EncodedKeySpec;
+
+public class RsaUtil {
+	private static final String CHARSET_NAME = "utf-8";
+	private static final String TYPE = "RSA";
+
+	/**
+	 * RSA私钥解密
+	 *
+	 * @param str        加密字符串
+	 * @param privateKey 私钥
+	 * @return 铭文
+	 * @throws Exception 解密过程中的异常信息
+	 */
+	public static String decrypt(String str, String privateKey) throws Exception {
+		//64位解码加密后的字符串
+		byte[] inputByte = Base64.decodeBase64(str.getBytes(CHARSET_NAME));
+		//base64编码的私钥
+		byte[] decoded = Base64.decodeBase64(privateKey);
+		RSAPrivateKey priKey = (RSAPrivateKey) KeyFactory.getInstance(TYPE).generatePrivate(new PKCS8EncodedKeySpec(decoded));
+		//RSA解密
+		Cipher cipher = Cipher.getInstance(TYPE);
+		cipher.init(Cipher.DECRYPT_MODE, priKey);
+		String outStr = new String(cipher.doFinal(inputByte));
+		return outStr;
+	}
+
+	/**
+	 * 获取私钥
+	 */
+	public static String getPriKey() {
+		String privateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCzS/MmTTM7T9li\n" +
+				"5CUlwr6gmJIXbCSoYxbeDKnl8Ng59RM9G9Eaw7+NdDX/LMhMqJtIlMJMgq2Xngl9\n" +
+				"1VMYkzhPrlWIjeYVo1ptXTWd8CwlZxOJpE+xDnrwkIGI2hAC6jqhEvQA3BAcGNUg\n" +
+				"HtmOw0Jfn64dYsPvOh9OAk6OxSbhsHocf8akxRIAvpPJa6Z5R6t1AKBvzDuRo068\n" +
+				"xD4fq6BtCVUGJ+wTJXSt2g5haNVaFw2ywZUOWjDhE1Yvwbx+M7X8PKI/mA3rhJcE\n" +
+				"6U8yArpNEZssJ0h73yN5qPWyT3Srrg2dJn2vu+tHPujLt3YC1mLdK3vK70bdmal3\n" +
+				"Z6a+92/9AgMBAAECggEAQNSYkePeP3cK4qAd8n5tUUJ5qLB4vM4/iYDIuhURCjvc\n" +
+				"ff8d5/CZxbscfy0hK97XbzIi42lo/WauheppxnwNI3qlAOBWLsLHQr4uUfJy8/9G\n" +
+				"aEGacyoKOAv4WpSGr5ckJfPleJ4Z0R8FiTy+a8mcqVjiq0t4D3tTsHBTGXqeKYJ8\n" +
+				"WzfYvnrRU6U278/5MxXwfWMcrNQgNE2d+U9du491PM2mDiCPKrZbhaFxUKYiOcnq\n" +
+				"aKk/oiLvI+cJi4ualgRrllsbAQYesccv37fvKgg5UbLUIGedpu+JcxQYgdDTOAgQ\n" +
+				"gdiuchSQ967KOEO0tjC2SHWCib8zsiSFAWaWqnufQQKBgQDbMQSwI6EEJLyrcyOw\n" +
+				"BJRC353oeyBH4ARYo15kJ6nerDaSKMNJDuH81fNuFdRu6/b931IJXvS5l5in+Skw\n" +
+				"scnh1SlFBNdD0sYiWu56QAsQGTTOADr/sjloLbCM62tTC2jqnBjU3+DiMhu6jLPB\n" +
+				"pK82kpo4i8LkMuukA9xsLglazQKBgQDRZ91weAGVbARiz5x2zmsvE0nqAccnVq7I\n" +
+				"6StaOTOElV/nljoMR1hIeNsh3bf0TrrjmlAYQtoXvx9hCm5vMjMgVpR6eNN7VSqv\n" +
+				"OnZCC6ytU1SImiCzPCslK70reHUWHI5gKUKia0oyylx97cxDd1dWtokQLY5woZ/e\n" +
+				"IQuZy1bJ8QKBgB8CuF8TK1yite6rw4jLnQ45BOY3RUHl97dypZAV7HqMcswK6FYV\n" +
+				"vPNAcchJXlyzFaalSb35qTX4tKhPH/y7qoxA1C3nmW0HDPEfXE3/cZE9f7MFZVN3\n" +
+				"q5eJn0jQpcaB/r3yh7DWW8KkxDeIYIYs/n0CEL+fRltyuNPjl/PWL4yhAoGATj96\n" +
+				"fnFJXjVbujSL6dUeNhwGDZwWd/urGkYOvgsL1iofCSGYlUf/lC0c7R21hGP679uU\n" +
+				"vEwWxLLVHeTQ+VoPwrC3kMAffkGHzqyQzgMgxi+SMe0t9Ouxz5T1fg3n6phHF2Wz\n" +
+				"kY93zVzSjPfT0Q4CI9PXiaUMScgLPeypMhHKX3ECgYB+erIbGCLFaROSLrD16FmR\n" +
+				"uABXwWSk8P5vNpwEyNMN0Yx/kLlkPZq1wjD0N6JiER6W29qNgIhUL/ufecU0pmHy\n" +
+				"FnPO5sues+n+ZZWJ8i6qDsf3SO4KzmDfCndZrnXV7ivQc4ZLj1KejfiVEF2xs3k1\n" +
+				"T+g8GH4zGZd019IIiu6zHQ==";
+		return privateKey;
+	}
+
+	/**
+	 * 获取私钥
+	 */
+	public static String getPublicKey() {
+		String publicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs0vzJk0zO0/ZYuQlJcK+\n" +
+				"oJiSF2wkqGMW3gyp5fDYOfUTPRvRGsO/jXQ1/yzITKibSJTCTIKtl54JfdVTGJM4\n" +
+				"T65ViI3mFaNabV01nfAsJWcTiaRPsQ568JCBiNoQAuo6oRL0ANwQHBjVIB7ZjsNC\n" +
+				"X5+uHWLD7zofTgJOjsUm4bB6HH/GpMUSAL6TyWumeUerdQCgb8w7kaNOvMQ+H6ug\n" +
+				"bQlVBifsEyV0rdoOYWjVWhcNssGVDlow4RNWL8G8fjO1/DyiP5gN64SXBOlPMgK6\n" +
+				"TRGbLCdIe98jeaj1sk90q64NnSZ9r7vrRz7oy7d2AtZi3St7yu9G3Zmpd2emvvdv\n" +
+				"/QIDAQAB";
+		return publicKey;
+	}
+
+	public static void main(String[] args) throws Exception {
+		String publicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs0vzJk0zO0/ZYuQlJcK+\n" +
+				"oJiSF2wkqGMW3gyp5fDYOfUTPRvRGsO/jXQ1/yzITKibSJTCTIKtl54JfdVTGJM4\n" +
+				"T65ViI3mFaNabV01nfAsJWcTiaRPsQ568JCBiNoQAuo6oRL0ANwQHBjVIB7ZjsNC\n" +
+				"X5+uHWLD7zofTgJOjsUm4bB6HH/GpMUSAL6TyWumeUerdQCgb8w7kaNOvMQ+H6ug\n" +
+				"bQlVBifsEyV0rdoOYWjVWhcNssGVDlow4RNWL8G8fjO1/DyiP5gN64SXBOlPMgK6\n" +
+				"TRGbLCdIe98jeaj1sk90q64NnSZ9r7vrRz7oy7d2AtZi3St7yu9G3Zmpd2emvvdv\n" +
+				"/QIDAQAB";
+		String privateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCzS/MmTTM7T9li\n" +
+				"5CUlwr6gmJIXbCSoYxbeDKnl8Ng59RM9G9Eaw7+NdDX/LMhMqJtIlMJMgq2Xngl9\n" +
+				"1VMYkzhPrlWIjeYVo1ptXTWd8CwlZxOJpE+xDnrwkIGI2hAC6jqhEvQA3BAcGNUg\n" +
+				"HtmOw0Jfn64dYsPvOh9OAk6OxSbhsHocf8akxRIAvpPJa6Z5R6t1AKBvzDuRo068\n" +
+				"xD4fq6BtCVUGJ+wTJXSt2g5haNVaFw2ywZUOWjDhE1Yvwbx+M7X8PKI/mA3rhJcE\n" +
+				"6U8yArpNEZssJ0h73yN5qPWyT3Srrg2dJn2vu+tHPujLt3YC1mLdK3vK70bdmal3\n" +
+				"Z6a+92/9AgMBAAECggEAQNSYkePeP3cK4qAd8n5tUUJ5qLB4vM4/iYDIuhURCjvc\n" +
+				"ff8d5/CZxbscfy0hK97XbzIi42lo/WauheppxnwNI3qlAOBWLsLHQr4uUfJy8/9G\n" +
+				"aEGacyoKOAv4WpSGr5ckJfPleJ4Z0R8FiTy+a8mcqVjiq0t4D3tTsHBTGXqeKYJ8\n" +
+				"WzfYvnrRU6U278/5MxXwfWMcrNQgNE2d+U9du491PM2mDiCPKrZbhaFxUKYiOcnq\n" +
+				"aKk/oiLvI+cJi4ualgRrllsbAQYesccv37fvKgg5UbLUIGedpu+JcxQYgdDTOAgQ\n" +
+				"gdiuchSQ967KOEO0tjC2SHWCib8zsiSFAWaWqnufQQKBgQDbMQSwI6EEJLyrcyOw\n" +
+				"BJRC353oeyBH4ARYo15kJ6nerDaSKMNJDuH81fNuFdRu6/b931IJXvS5l5in+Skw\n" +
+				"scnh1SlFBNdD0sYiWu56QAsQGTTOADr/sjloLbCM62tTC2jqnBjU3+DiMhu6jLPB\n" +
+				"pK82kpo4i8LkMuukA9xsLglazQKBgQDRZ91weAGVbARiz5x2zmsvE0nqAccnVq7I\n" +
+				"6StaOTOElV/nljoMR1hIeNsh3bf0TrrjmlAYQtoXvx9hCm5vMjMgVpR6eNN7VSqv\n" +
+				"OnZCC6ytU1SImiCzPCslK70reHUWHI5gKUKia0oyylx97cxDd1dWtokQLY5woZ/e\n" +
+				"IQuZy1bJ8QKBgB8CuF8TK1yite6rw4jLnQ45BOY3RUHl97dypZAV7HqMcswK6FYV\n" +
+				"vPNAcchJXlyzFaalSb35qTX4tKhPH/y7qoxA1C3nmW0HDPEfXE3/cZE9f7MFZVN3\n" +
+				"q5eJn0jQpcaB/r3yh7DWW8KkxDeIYIYs/n0CEL+fRltyuNPjl/PWL4yhAoGATj96\n" +
+				"fnFJXjVbujSL6dUeNhwGDZwWd/urGkYOvgsL1iofCSGYlUf/lC0c7R21hGP679uU\n" +
+				"vEwWxLLVHeTQ+VoPwrC3kMAffkGHzqyQzgMgxi+SMe0t9Ouxz5T1fg3n6phHF2Wz\n" +
+				"kY93zVzSjPfT0Q4CI9PXiaUMScgLPeypMhHKX3ECgYB+erIbGCLFaROSLrD16FmR\n" +
+				"uABXwWSk8P5vNpwEyNMN0Yx/kLlkPZq1wjD0N6JiER6W29qNgIhUL/ufecU0pmHy\n" +
+				"FnPO5sues+n+ZZWJ8i6qDsf3SO4KzmDfCndZrnXV7ivQc4ZLj1KejfiVEF2xs3k1\n" +
+				"T+g8GH4zGZd019IIiu6zHQ==";
+		String encodeText = "hello world";
+//        String encodeText = encrypt(text, publicKey);
+		System.out.println("加密后:" + encodeText);
+		System.out.println("解密后:" + decrypt(encodeText, privateKey));
+
+		String us = "P17W84IQf5nd56TAO4LLZrt5J3odi9+sjhy9vMepEv9VzzUKznqChEh3vfA1bbYIE5ariIng9LUX7NXv4jvIuNnjvsgToFfXsJkEjH7sGc+mA0uh7iS+vM0QG1tmo5pF058BGyMsXmAk6QCYlSQfvpaz7qwbMg4do+6a1RNOx3JuWsFttPTeYmLpsirmjuMw5E/gJzvJhKGBNQi17jNNfJ8HxF5syd8rIxvpKMm9Dk+Ur90xx8Nmna6XJEDEYnZ4rFoKVzCdhyg/YGwB55TXhIrabU6xNcDRi528gbpFioKGEYW3qzl6A8mRD7Y4VL8puWA1xlOH5o/f78ZRWah/kQ==";
+		String ps = "iyszOtAof873CTOhlDsIzl+n83ejC3wqKRZXOXFkNaX1lFqlSHMBmZeTn5jjGWp77T8YGK+XvNCEuQURZgPHXJ9DN4Auvt8oRbscwUFS0I47uppEOuy+3FhIhgbX4oGwaJ5R80fP/bWz89qxuuD/01IIkJoeb/cHo8roI8WjR9UxU3S79Sf2EZW0VV/22gJMhc+BzSONm8RvtxFn2NyUi4R6bRSeTXkNNZ4vOSos3dl0uoS0Jk8hTAcEjLZ0hvDsfJKuMI1c0bDGWXk5UbvanFbccHIRhiHj8d8ejAf/phOrlufqk5ZSbvEzKiTHdh5pn6DYcCioYk4fUh7SnrXAxg==";
+		System.out.println("解密后:" + decrypt(us, privateKey));
+		System.out.println("解密后:" + decrypt(ps, privateKey));
+	}
+}

+ 1 - 1
iot-starter/src/main/java/cc/iotkit/web/service/SysLoginService.java

@@ -447,7 +447,7 @@ public class SysLoginService {
         LoginHelper.setTenantId(tenantId);
         SysUserVo user = loadUserByUsername(tenantId, username);
         user.setTenantId(tenantId);
-        checkLogin(LoginType.PASSWORD, tenantId, username, () -> true);
+        checkLogin(LoginType.PASSWORD, tenantId, username, () -> false);
         // 此处可根据登录用户的数据不同 自行创建 loginUser
         LoginUser loginUser = buildLoginUser(user);
         // 生成token