import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import java.util.Scanner; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import java.util.Base64; @SpringBootApplication public class RuoYiApplication { // 加密密钥,实际使用时请更换为更复杂的密钥 private static final String SECRET_KEY = "YourSecretKey123"; // 加密后的验证码,可以使用 generateEncryptedCode() 方法生成 private static final String ENCRYPTED_CODE = "YOUR_ENCRYPTED_CODE_HERE"; public static void main(String[] args) { if (!validateStartup()) { System.out.println("验证失败,程序退出!"); System.exit(1); } SpringApplication.run(RuoYiApplication.class, args); } private static boolean validateStartup() { try { Scanner scanner = new Scanner(System.in); System.out.print("请输入启动密码: "); String input = scanner.nextLine(); // 加密输入的密码 String encryptedInput = encrypt(input); // 比较加密后的结果 return ENCRYPTED_CODE.equals(encryptedInput); } catch (Exception e) { e.printStackTrace(); return false; } } // AES加密方法 private static String encrypt(String value) throws Exception { SecretKeySpec key = new SecretKeySpec(SECRET_KEY.getBytes("UTF-8"), "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] encrypted = cipher.doFinal(value.getBytes()); return Base64.getEncoder().encodeToString(encrypted); } // 用于生成加密后的验证码 public static void generateEncryptedCode(String password) throws Exception { System.out.println("Encrypted code: " + encrypt(password)); } }