vue3 CryptoJS 加密 ,spring boot解密。
在Vue 3中使用CryptoJS进行加密,并在Spring Boot后端使用Java进行解密,你需要确保使用相同的算法和密钥。以下是一个简单的例子:
Vue 3 (前端):
首先,确保你已经安装了CryptoJS:
npm install crypto-js
然后,使用CryptoJS进行加密:
import CryptoJS from 'crypto-js';
const secretKey = 'your-secret-key'; // 密钥应该是保密的,不应该在前端代码中硬编码
const message = 'Hello, World!'; // 需要加密的数据
const encryptedData = CryptoJS.AES.encrypt(message, secretKey).toString();
Spring Boot (后端):
在Spring Boot中,你可以使用以下代码进行解密:
import org.springframework.util.Base64Utils;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.util.Arrays;
import java.util.Base64;
public class Decryptor {
private static final String ALGORITHM = "AES";
public static String decrypt(String encryptedData, String secretKey) throws Exception {
SecretKeySpec spec = new SecretKeySpec(secretKey.getBytes(), ALGORITHM);
Cipher cipher = Cipher.getInstance(ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE, spec);
byte[] original = cipher.doFinal(Base64.getDecoder().decode(encryptedData));
return new String(original);
}
public static void main(String[] args) throws Exception {
String encryptedData = "YourEncryptedData"; // 接收从前端发送的加密数据
String secretKey = "your-secret-key"; // 与前端使用的密钥相同
String decryptedData = decrypt(encryptedData, secretKey);
System.out.println(decryptedData);
}
}
确保secretKey
在前端和后端是相同的,并且在实际应用中,密钥应该安全地管理和存储,不要硬编码在源代码中。
注意:这个例子仅用于演示目的,实际应用中应该使用更安全的加密方法和密钥管理策略。
评论已关闭