前言
更换项目框架和鉴权后,每次测试接口也都需要获取 Token 才能访问,之前都是通过网页再现RSA加密,这次抽空写个小工具,离线也能加密信息并获取 Token ,方便内网测试,快速定位客户问题。
参考资料
获取Token流程
- 首先,调用
/rsaPublicKey
接口获取RSA的公钥和keyCode
。; - 其次,将密码MD5加密后,使用RSA公钥再次加密;
- 最后,将信息整理,以
post
方式调用login
接口获取 token。
代码
package com.example.token;
import com.example.token.domain.LoginBack;
import com.example.token.domain.LoginParam;
import com.example.token.domain.RsaPublicKeyBack;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.tomcat.util.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.Banner;
import org.springframework.boot.WebApplicationType;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.http.MediaType;
import org.springframework.http.RequestEntity;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
import javax.crypto.Cipher;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.security.KeyFactory;