|
@@ -1,5 +1,6 @@
|
|
package com.fdkankan.contro.controller;
|
|
package com.fdkankan.contro.controller;
|
|
|
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.ZipUtil;
|
|
import cn.hutool.core.util.ZipUtil;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.fdkankan.common.constant.ErrorCode;
|
|
import com.fdkankan.common.constant.ErrorCode;
|
|
@@ -21,13 +22,26 @@ import com.fdkankan.redis.util.RedisUtil;
|
|
import com.fdkankan.web.response.ResultData;
|
|
import com.fdkankan.web.response.ResultData;
|
|
import lombok.extern.log4j.Log4j2;
|
|
import lombok.extern.log4j.Log4j2;
|
|
import net.lingala.zip4j.core.ZipFile;
|
|
import net.lingala.zip4j.core.ZipFile;
|
|
|
|
+import org.apache.commons.codec.binary.Base64;
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
|
+import org.opencv.core.Algorithm;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
+import javax.crypto.BadPaddingException;
|
|
|
|
+import javax.crypto.Cipher;
|
|
|
|
+import javax.crypto.IllegalBlockSizeException;
|
|
|
|
+import javax.crypto.NoSuchPaddingException;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
|
|
+import java.nio.charset.StandardCharsets;
|
|
|
|
+import java.security.*;
|
|
|
|
+import java.security.interfaces.RSAPrivateKey;
|
|
|
|
+import java.security.interfaces.RSAPublicKey;
|
|
|
|
+import java.security.spec.InvalidKeySpecException;
|
|
|
|
+import java.security.spec.PKCS8EncodedKeySpec;
|
|
|
|
+import java.security.spec.X509EncodedKeySpec;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.concurrent.CompletableFuture;
|
|
import java.util.concurrent.CompletableFuture;
|
|
@@ -165,6 +179,48 @@ public class SceneFileController{
|
|
return ResultData.ok();
|
|
return ResultData.ok();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
|
|
|
|
+
|
|
|
|
+ String publicKeyStr = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALJ4i/c8ajAXpNDRx3yf7qtxiYuAtORd5oR4Zv849TdPXf8Kk+CZseiEwHpCMgRzlksHCkxmnyhqIADTMu3KYOkCAwEAAQ==";
|
|
|
|
+ String privateKeyStr = "MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAsniL9zxqMBek0NHHfJ/uq3GJi4C05F3mhHhm/zj1N09d/wqT4Jmx6ITAekIyBHOWSwcKTGafKGogANMy7cpg6QIDAQABAkB9df627BKeAlELtx0sf+WxQhx2JCGGFHizkUyeiHThzs16UhjVRbkM1XQx+AsKZng8g3k1dRjXq2uqPlRVUWyBAiEA4k3nqAoVks1+zvpgNBzp4t8FkFPAA6Ii8zsZhsecQFECIQDJ483hrakcOsyBE0KfKrQn1tQHvP42O9tB7D0HOuFJGQIgV4Zv+ULlMyD9UYnumVkxcEh3e2mY0w7rW41ZAxLCsPECIQCPDfJGpW0c6bUbCPC+I95AFINtcEeZWlSEo8aipuAXkQIgKH0c3eOKDVvxTCFRdmNPuNAsOv7NU8spoSUGR6o5WcU=";
|
|
|
|
+
|
|
|
|
+// KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
|
|
|
|
+// keyPairGenerator.initialize(512);
|
|
|
|
+// KeyPair keyPair = keyPairGenerator.generateKeyPair();
|
|
|
|
+// RSAPublicKey aPublic = (RSAPublicKey) keyPair.getPublic();
|
|
|
|
+// RSAPrivateKey aPrivate = (RSAPrivateKey) keyPair.getPrivate();
|
|
|
|
+// System.out.println("publicKey : " + Base64.encodeBase64String(aPublic.getEncoded()));
|
|
|
|
+// System.out.println("privateKey : " + Base64.encodeBase64String(aPrivate.getEncoded()));
|
|
|
|
+
|
|
|
|
+ PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new PKCS8EncodedKeySpec(Base64.decodeBase64(privateKeyStr));
|
|
|
|
+ X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(Base64.decodeBase64(publicKeyStr));
|
|
|
|
+ KeyFactory keyFactory = KeyFactory.getInstance("RSA");
|
|
|
|
+ Cipher cipher = Cipher.getInstance("RSA");
|
|
|
|
+ PrivateKey privateKey = keyFactory.generatePrivate(pkcs8EncodedKeySpec);
|
|
|
|
+ PublicKey publicKey = keyFactory.generatePublic(x509EncodedKeySpec);
|
|
|
|
+
|
|
|
|
+// //私钥加密
|
|
|
|
+// cipher.init(Cipher.ENCRYPT_MODE, privateKey);
|
|
|
|
+// byte[] bytes = cipher.doFinal("aaaaaa".getBytes(StandardCharsets.UTF_8));
|
|
|
|
+// System.out.println("私钥加密:" + Base64.encodeBase64String(bytes));
|
|
|
|
+//
|
|
|
|
+// //公钥解密
|
|
|
|
+// cipher.init(Cipher.DECRYPT_MODE, publicKey);
|
|
|
|
+// byte[] bytes1 = cipher.doFinal(bytes);
|
|
|
|
+// System.out.println("公钥解密:" + new String(bytes1));
|
|
|
|
+
|
|
|
|
+ //公钥加密
|
|
|
|
+ cipher.init(Cipher.ENCRYPT_MODE, publicKey);
|
|
|
|
+ byte[] bytes2 = cipher.doFinal("bbbbb".getBytes(StandardCharsets.UTF_8));
|
|
|
|
+ System.out.println("公钥加密:" + Base64.encodeBase64String(bytes2));
|
|
|
|
+
|
|
|
|
+ cipher.init(Cipher.DECRYPT_MODE, privateKey);
|
|
|
|
+ byte[] bytes3 = cipher.doFinal(bytes2);
|
|
|
|
+ System.out.println(new String(bytes3));
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
private String getFileIdByFolderName(String folderName) {
|
|
private String getFileIdByFolderName(String folderName) {
|
|
// 检测是否有生成
|
|
// 检测是否有生成
|
|
String fileId = redisUtil.get(String.format(RedisConstants.FOLDER_FILEID_BUILD, folderName));
|
|
String fileId = redisUtil.get(String.format(RedisConstants.FOLDER_FILEID_BUILD, folderName));
|