From afb277a81e060c6275f11e9f9f102b5dcfd80a72 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 27 六月 2024 09:46:05 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/test/MQTest.java | 86 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 75 insertions(+), 11 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/test/MQTest.java b/ruoyi-admin/src/main/java/com/ruoyi/web/test/MQTest.java index 07f6726..c216a11 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/test/MQTest.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/test/MQTest.java @@ -1,13 +1,19 @@ package com.ruoyi.web.test; -import com.smartor.config.RabbitMqConfig; +import com.ruoyi.web.task.PhoneTask; import org.junit.Test; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.SpringVersion; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import java.security.*; +import java.security.spec.PKCS8EncodedKeySpec; +import java.util.Base64; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; //@SpringBootTest //@RunWith(SpringRunner.class) @@ -17,14 +23,72 @@ @Test public void testSend() { + try { + // 鐢熸垚RSA瀵嗛挜瀵� + KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); + keyPairGenerator.initialize(2048); + KeyPair keyPair = keyPairGenerator.generateKeyPair(); - Pattern pattern = Pattern.compile("(?=.*(?:杩樿|鎸哄ソ|鍙互|涓嶉敊)).*$"); - Matcher matcher = pattern.matcher("杩樿鍚э紝灏辨槸杩樻湁鐐圭柤"); - System.out.println(matcher.matches()); - System.out.println("Spring Framework鐗堟湰锛�" + SpringVersion.getVersion()); -// rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_NAME, "phone.001", "娴嬭瘯鏁版嵁001"); -// rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_NAME, "phone.002", "娴嬭瘯鏁版嵁002"); -// rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_NAME, "phone.003", "娴嬭瘯鏁版嵁003"); + // 鑾峰彇鍏挜鍜岀閽� + PublicKey publicKey = keyPair.getPublic(); + PrivateKey privateKey = keyPair.getPrivate(); + String publicKeyString = Base64.getEncoder().encodeToString(privateKey.getEncoded()); + System.out.println(publicKeyString); + // 鏄庢枃 + String plainText = "Hello, World!"; + + // 鍔犲瘑 + Cipher encryptCipher = Cipher.getInstance("RSA"); + encryptCipher.init(Cipher.ENCRYPT_MODE, publicKey); + byte[] encryptedBytes = encryptCipher.doFinal(plainText.getBytes()); + + // 灏嗗姞瀵嗗悗鐨勬暟鎹浆鎹负Base64缂栫爜鐨勫瓧绗︿覆 + String encryptedText = Base64.getEncoder().encodeToString(encryptedBytes); + System.out.println("鍔犲瘑鍚庣殑鏁版嵁锛�" + encryptedText); + + // 瑙e瘑 + Cipher decryptCipher = Cipher.getInstance("RSA"); + decryptCipher.init(Cipher.DECRYPT_MODE, privateKey); + byte[] decryptedBytes = decryptCipher.doFinal(Base64.getDecoder().decode(encryptedBytes)); + + // 鏄庢枃 + String decryptedText = new String(decryptedBytes); + System.out.println("瑙e瘑鍚庣殑鏁版嵁锛�" + decryptedText); + } catch (Exception e) { + + } + +// String str = "absdf"; +// String c = Character.toUpperCase(str.charAt(0)) + str.substring(1); +// System.out.println(c); + "鎮ㄥソ锛屾垜鏄禉浜屽尰闄㈠紶鍖荤敓锛屾偍鏄�${name}鍚楋紵杩樻槸瀹跺睘?".replaceAll("$$*variable", "AA"); +// Pattern pattern = Pattern.compile("^(?!.*(濂絴澶ソ)).*$"); +// Matcher matcher = pattern.matcher("鐫$湢涓嶅ソ"); +// System.out.println(matcher.matches()); + // 鍒涘缓鍥哄畾澶у皬鐨勭嚎绋嬫睜 +// ExecutorService executorService = Executors.newFixedThreadPool(10); +// +// executorService.submit(new PhoneTask()); + } + + @Test + public void testSend22() { + try { + byte[] privateKeyBytes = Base64.getDecoder().decode(""); + PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(privateKeyBytes); + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + PrivateKey privateKey = keyFactory.generatePrivate(keySpec); + + // 浣跨敤绉侀挜瑙e瘑鏁版嵁 + Cipher decryptCipher = Cipher.getInstance("RSA"); + decryptCipher.init(Cipher.DECRYPT_MODE, privateKey); + byte[] decryptedBytes = decryptCipher.doFinal(Base64.getDecoder().decode("")); + + // 瑙e瘑鍚庣殑鏁版嵁 + String decryptedData = new String(decryptedBytes); + System.out.println("瑙e瘑鍚庣殑鏁版嵁锛�" + decryptedData); + } catch (Exception e) { + } } } -- Gitblit v1.9.3