package com.ruoyi.common.utils.sign; import javax.crypto.Cipher; import javax.crypto.NoSuchPaddingException; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.security.NoSuchAlgorithmException; import java.util.Base64; public class AesUtil { private static final String KEY = "QfOpO2026@SecretKey#Aes256!00001"; private static final String IV = "1234567890123456"; public static String decrypt(String cipherText) { String data = ""; Cipher cipher = null; try { cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), "AES"); IvParameterSpec ivSpec = new IvParameterSpec(IV.getBytes()); cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec); byte[] original = cipher.doFinal(Base64.getDecoder().decode(cipherText)); data = new String(original); } catch (Exception e) { String m=e.getMessage(); } return data; } public static String encrypt(String data) { String text = ""; try { Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(KEY.getBytes(), "AES"), new IvParameterSpec(IV.getBytes())); byte[] encryptedBytes = cipher.doFinal(data.getBytes()); text = Base64.getEncoder().encodeToString(encryptedBytes); } catch (Exception e) { String m = e.getMessage(); } return text; } }