diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/TestController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/TestController.java new file mode 100644 index 0000000..068a501 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/TestController.java @@ -0,0 +1,72 @@ +package com.glxp.udi.admin.controller; + +import com.glxp.udi.admin.entity.info.CompanyEntity; +import com.glxp.udi.admin.req.info.CompanyRequest; +import com.glxp.udi.common.res.BaseResponse; +import com.glxp.udi.common.util.ResultVOUtils; +import org.apache.ibatis.annotations.Param; +import org.apache.tomcat.util.codec.binary.Base64; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.crypto.Cipher; +import java.security.KeyFactory; +import java.security.PrivateKey; +import java.security.spec.PKCS8EncodedKeySpec; + +@RestController +public class TestController { + String privateKey = + "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC1ocuIO2xyfDJ5" + + "7iUb2MLwZQRlgi4GjPj1bcZLLYsQ5WkpHKJA0KNGbJu9BLmop2xvelXvbQdAme/+" + + "dAueyD+9ZsVz0vT18R4l0NnFA5/wPsId5WAt3z5+H8Z7NAJUuKMaVsBU5Fc6sWjk" + + "xx3I52wsl7LXHgfEhHXdrv0kcHux297XgDZpLptDs09a7yEz0ukl3WHKWxeB0GlH" + + "6JfcM8V56nxLHyM+dZ9R8YXakM0TeHW7P1HKUYFhTPi0M/PPQhc7u9mTJQVd6yXM" + + "oUMVyaGFufW2htf5qXhe99GmOgKNJPaZF+oK3ho24EMzUsczPIwFUml+6L3WKQsY" + + "yA/gZ1+zAgMBAAECggEBAIf3iol9En3Rg2fLYnQqHCQhOt1SSmoU9fmkJ6D3gvcv" + + "BT4FdWDXzqJVg3BILUOXsZDyH4qQL7GoiwQMkvZWKYD7gixma4IA8fSVF7BoOj56" + + "fI4su4cba4i2+LoaAPSzE0YQUwI5vSLu0/sPI7jVpSDsnrByhpYSIrnE2TOCENbe" + + "4Dx+5iBw+dYxvIGohgRp4r19d4glYsquJ6Akt5+7LnvFPMqGXhswlMnjhA6wv558" + + "bMV2q8CUQN3x6XipGs+Nx7n3JwHuFFtMWYbk6xti+31ASkhNKXMYkxE5qBLGiGJ7" + + "qX472TQhH5U4G34dJZhix18KsI46Fp2h9jQyU9c6NWECgYEA8hXcxXrNqPXQOxGu" + + "t06oaAZ2+rxcn9Focfv0L/Bb3b8HHv7lzRXTsnaUU1InY98K03ixUGWu1/uQfhqF" + + "A5I8SA1dfE2RvoHDirUbyCA/hpVDmqhxbA8zZGNbIfHgtCumWeqoV9d3VhEEmgj4" + + "XfuLA1hBMGSEf/21e13mB+A/1qUCgYEAwBJl9U6wSp6lAvG/x1td8DrN7KEucBdY" + + "B0CJJNXEQLGUnCVSfAi0YGTD9oNglzuA9y4PmIi5R6P2lzlNUisRwIev/cEHpj1a" + + "kmm0RArRg/0nZdfMJnjXmn8AAuZNxKN41JwKTRemXaxMfkgtLpmP7jtNS8Ibv1GH" + + "eX1ZK7SF5XcCgYBDknCmOqnvMHXoFv5ysiT1rGBHio48GeKSdmZpfyjVU330W+fe" + + "/+mwVcL/It5V1SsbbgPoUgmkxdZGLLbWEVp8LibbDHfS+juPmw/fI4k30rAlGkFW" + + "jUOmEMmeRvqWr9xmGsbUhhMMVgG30SsqaI0b6OWBUX1ekH24qrQLnL+U9QKBgQCk" + + "k18vuVQPLC5h/nkAPgaY4Bowhs9+llIELMUWfeBiOocG4Gf0BZVg/xZ2dI3gJ8lS" + + "gvI0FfsEKrcRTrU1EdhtKxaejLacN/gSemZO4yIxQUpv1l+EG4lKRUXiNiouso/H" + + "RUkCU6BmpUsJ7ZhhVI1iaQfLQTB7V0WI0OIGM/GC8wKBgAHqB+3iaG8j67x04PGU" + + "2BOBV4DVtEK27v8crG4lhUwzwkh0tJ4fOUu87DkCkZXQZh3BjcxyTx9ztlk0tUk3" + + "vTFABi5Awpv7C5PWXfQxsy9jTRNpRGduXKkl+blwJ7JkJAu77uxXB91LTenSGwSR" + + "hYTV7d/EJUqzLUKlcOIWFk7w"; + + @GetMapping("/yewenjie/get/key/test") + public BaseResponse getCompanyInfo(@Param("data") String data) { + + try { + String outStr = privateKeyEncrypt(data, privateKey); + return ResultVOUtils.success(outStr); + } catch (Exception e) { + e.printStackTrace(); + } + + return ResultVOUtils.error(500, "服务器异常"); + } + + //私钥加密 + public String privateKeyEncrypt(String str, String privateKey) throws Exception { + //base64编码的公钥 + byte[] decoded = Base64.decodeBase64(privateKey); + PrivateKey priKey = KeyFactory.getInstance("RSA"). + generatePrivate(new PKCS8EncodedKeySpec(decoded)); + //RSA加密 + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, priKey); + String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes())); + return outStr; + } +}