Skip to content

密码加密工具类 ​

java
import cn.hutool.core.codec.Base64;
import org.bouncycastle.jce.provider.BouncyCastleProvider;

import javax.crypto.Cipher;
import java.nio.charset.StandardCharsets;
import java.security.KeyFactory;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Security;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
public class RsaUtil {

    private static final String PUBLIC_KEY ="-----BEGIN PUBLIC KEY-----\n" +
            "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArk1+aXdzCbb6Y3t6QMyI4yGSECowASpZkmPebPwymJk0Jo63LBLoSdmvnUbKUzPwWR4aJnNYnCT9YoQWMkdHpbbCfOCgB661vpvQcbKJm9WitJE81bzEBya0iNmu93asfyrnK/+Md+KDa9xtyOXN4MPV7/xiBtpYh2alDmncRyUzO0Ieo8EdZje31xcV+9TayTQGkvIpau4tn4wmsPJ5s4iMUxRqkaURd6pKdn8bD5lJ6iUKTi0ZsqFNvNFikeHq6cMY1PUUeb1pj5aDYq1tKE4Ux6pZhsAxNo5QZevi5c0+vLPjA7x0fY2A/Cvk3S01bqDG0Ty1aY0AxMNpCOCRBQIDAQAB\n" +
            "-----END PUBLIC KEY-----";

    // 使用公钥加密
    public static String encrypt(String data) throws Exception {


        byte[] encodedKey = Base64.decode(PUBLIC_KEY);
        X509EncodedKeySpec keySpec = new X509EncodedKeySpec(encodedKey);

        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
        PublicKey publicKey = keyFactory.generatePublic(keySpec);

        Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWithSHA-1AndMGF1Padding");
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);

        byte[] encryptedData = cipher.doFinal(data.getBytes(StandardCharsets.UTF_8));
        return Base64.encode(encryptedData); // 返回Base64编码字符串
    }

}

账号密码校验 ​

接口名称url请求方式请求数据类型
账号密码校验/api/sso/auth/appCheckUserPOSTapplication/json

请求参数 ​

参数名称二级参数参数说明是否必填数据类型备注说明
userName用户名是string用户名
password密码是string密码(加密后的),密码需要通过Rsa公钥加密,返回Base64编码字符串
appIdclient_id是string应用ID
secret应用的secret是string应用的secret
timestamp当前北京时间是long当前北京时间,Unix格式13位时间戳,精确到毫秒,3分钟内有效。
scope授权级别:user是string授权级别:user
json
curl --request POST \
  --url https://sso-test.tbea.com/api/sso/auth/appCheckUser \
  --header 'Accept: */*' \
  --header 'Accept-Encoding: gzip, deflate, br' \
  --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImluc3RpdHV0aW9uIjoiMSIsImtpZCI6InNzb19hdXRoX2p3ayIsImpvYk5vIjoiIiwiaXNzIjoiaHR0cDpcL1wvMTI3LjAuMC4xOjgwODBcLyIsInVzZXJUeXBlIjoiRU1QTE9ZRUUiLCJleHAiOjE3NDgzMzQxODcsImxvY2FsZSI6IiIsImlhdCI6MTc0ODMyNjk4NywianRpIjoiMTEyNDMwNTU3OTAwMzYwOTA4OCJ9.9uZpJZ8tq61rRBx7eMuyLpxlLreceYVnQ5Jm4YvvPMM' \
  --header 'Connection: keep-alive' \
  --header 'Content-Type: application/json' \
  --header 'Cookie: JSESSIONID=AD45B420C0C4A6ED7EA90E2FBD557FC4' \
  --header 'User-Agent: PostmanRuntime-ApipostRuntime/1.1.0' \
  --data '{
    "userName":"xxx",
    "password":"rDvLLnNVr3NGGpJb6BxYE0sj27XfnPtf7bUYnAGr35t7S9R6j9jTFaGETIHa+2/GyO+5JbXljNqP6U+ORSZJ5ljauhDaMohpBPqUglAJUVnoTuMfLGtsoqQLklDzeOf6WvcI+9gjSU3G02W+NVabIuRtmHttJoLv9mG3MC1dImABolQWz3GrjlJZ1ljYylUnH3PO/r6XuF+mhxYzjvvmlM9dpk7U3qOrb52xxxCO406lpruE3bNOk6Z589/T2reKUALHPNnxjzjGp4l5jWbwVU5ARcmfVcSlvQf3ZQZljGPP16dLNC0UWq1aP3apuxqob3ICV3Gby32ZjszIfx7P6jfgg==",
    "appId":"xxx",
    "secret":"JL4LMTUwNTIwMjUyMDA1NDIyNTkpnJ",
    "timestamp":1762151698659,
    "scope":"user"
}'

返回值 ​

json

成功返回
{
	"code": 200,
	"message": null,
	"data": true,
	"errorCode": 0,
	"success": true
}
错误返回
{
    "code": 500,
    "message": "系统异常",
    "data": null
}

{
	"code": 500,
	"message": "时间戳3分钟内有效",
	"data": null,
	"errorCode": 1,
	"success": false
}