- 前端数据使用cryPto.js 进行加密
'use strict'
import CryptoJS from 'crypto-js'
export default {
aesEncrypt (word) {
let _word = CryptoJS.enc.Utf8.parse(word)
let _key = CryptoJS.enc.Utf8.parse('cd16a2adc4f1ae01')
let _iv = CryptoJS.enc.Utf8.parse('1f7f239e3bc7cefd')
let encrypted = CryptoJS.AES.encrypt(_word, _key, {
iv: _iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
})
return encrypted.toString()
}
}
- 前端使用方法(这里是对密码进行加密)
2.1 需要使用 uri 进行编码,因为% 等特殊符号会被浏览器给转译掉
this.form.password = encodeURIComponent(aes.aesEncrypt(this.form.password))
- 后端解密util
import org.apache.commons.codec.binary.Base64;
import org.springframework.util.Base64Utils;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
public class AESUtils {
public static