1、基本信息
(1)请求方法: http post
(2)请求地址: http://{hostname}/suptruck/login
2、请求参数
| 名称 | 数据类型 | 说明 | 是否必填 |
|---|---|---|---|
| username | String | 用户名 | 是 |
| password | String | 密码 | 是 |
| rsaEncryptKey | String | 加密后的公钥 | 是 |
3、请求示例
{"username": "admin","password": "+eGSOQrVVLfyGZAeWTilKw==","rsaEncryptKey": "Eye88VJ8tNBQTDg61ujwVX9kZQsmH4y79c0kASL9tcMgccTD1SHJUabdP23vQBrYVzmA5UnkbktD1iX2yfE8zjF64A2QdM15bOZTphkqP8tWwq4BAKnDkMKQ/v3PC9KA0FcHi0lEKpNxlvCoIWRLwv1VzmKrMNiQpm2Si+nVK5g="}
4、响应参数
| 名称 | 数据类型 | 说明 |
|---|---|---|
| code | Integer | code |
| msg | String | 提示信息 |
| timestamp | String | 时间戳 |
| data | Object | Json对象 |
| - access_token | String | token |
| - expires_in | Integer | 有效时间 |
5、响应示例
{"code": 100,"msg": "操作成功","data": {"access_token": "eeyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjozLCJ1c2VyX2tleSI6Ijc5YjA3MzYyLWRhZmYtNDdlOC1iMDdkLTQ2MTNiZjE1MDg3OCIsInVzZXJuYW1lIjoiamluZ3FpIn0.aWUAlNFiOtqjpq_hmoVeJkZ6FScUSaxdlOQQbg1Rd6Jjb1FDQ7pmST0A0VnbOlxyh4z-UzssU97wTaNuTgJ8sw","expires_in": 1440},"timestamp": "2023-04-13 11:28:11"}
6、公钥
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCSQYNxXjfZj1Y/dZBm/dDqPPc72bPeLc0uw9bYiFLLrueCdn3LhD7aRP0hDfxKqUkN9wWW6V9jshnaQWJBYwhmVyL72DzpRUOjQTzE1/uPXFVYK50T0JvkzB/R4GvrrafxG893ldljewULJgTf2r/pfjm3KZkG4Na+DRcynIf3gwIDAQAB
7、示例
public static Map<String, String> genPassword(String password) {// 明文密码// String s = "123456";// aes 的keyString uuid = RandomUtil.randomString(32);String privateKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALcgNBa1thzZP2tr" +"840SGPRjwV89KVJvZeX/9rGUnH1AtA7c4ucmvucTJmZoQrkk5tYWIv4HAAyGrJP9" +"qp1dLVog84exm+a5RFOQmG55GEPBmU/0A7Ihv45nph2dYZFdEe5jkcsU1bcU8B1I" +"uK/VYkO8OEsEGWOE74NmclRZ4VPxAgMBAAECgYBQ9/MwC14fOUtaQtvoBxVzkVvh" +"sVhA87JZVKiN8giTNPWoELBexfnoj8YNx5Gg7RkHlbgZG51A7JcHxEQY2ib/jznC" +"EvKehOCbbBvlwj67kAS/hievt+eZC/d3AWGz+0uhRBuvQiXN/rK08cQMyj6OCxiQ" +"1w5tPDJr3w/J/ACMAQJBAPELHwUtgClBfutLknoFyABDP1pNsFEPL51hWb1VdiwZ" +"YVloiqXCR8a41UsjyQwNiPJsDwG4l49j4WQAAsc1bbECQQDCfRVmuqFVrxf+i2II" +"l2/ZL9UwS3RFXVfb2pCS9Y6fxNrSXwHHytb1FhxIGfscvD31ZCDNVTZE5pof9QRn" +"lJpBAkBuSptoABjLR8euHAcqxChuTlbXmAKcJGmyBlBMfKU0qmxLv7TpAYtcF0ip" +"N/ePB0ZpPh5juDXJC3efDQ44Xm8RAkApvVCHgIw5aF986Ir8jwuZD/Pv7nGgpVzC" +"uVCHyZ13Wncf6PXn2/dwF/Ov4auLyjZ94KRNjPkdpmPzcdElLbZBAkAhpX0ip7qT" +"gKR0aMxoGA1MYHtqHmEA1u3QpRQ+lPdZFa/fNKmBrC6T0xZCAnqfc/41+Ujk8Usn" +"hJH1d2/U/Zyg";String publicKey ="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3IDQWtbYc2T9ra/ONEhj0Y8Ff" +"PSlSb2Xl//axlJx9QLQO3OLnJr7nEyZmaEK5JObWFiL+BwAMhqyT/aqdXS1aIPOH" +"sZvmuURTkJhueRhDwZlP9AOyIb+OZ6YdnWGRXRHuY5HLFNW3FPAdSLiv1WJDvDhL" +"BBljhO+DZnJUWeFT8QIDAQAB";try {System.out.println("明文的aes的key = " + uuid);System.out.println("\n");System.out.println("============加密===============");String aesKey = RSAUtil.encryptByPublicKey(uuid, publicKey);password = AESUtil.encryptData(uuid, password);System.out.println("加密后 aesKey = " + aesKey);System.out.println("加密后 password = " + password);System.out.println("\n");System.out.println("============解密===============");String taesKey = RSAUtil.decryptByPrivateKey(aesKey, privateKey);String tpassword = AESUtil.decryptData(taesKey, password);System.out.println("taesKey = " + taesKey);System.out.println("tpassword = " + tpassword);Map<String, String> map = MapUtil.newHashMap();map.put("password", password);map.put("rsaEncryptKey", aesKey);return map;} catch (Exception e) {e.printStackTrace();}return MapUtil.newHashMap();}
