AES加密
目的
为了保证登录的安全性,从而把用户输入的用户名密码采用aes/cbc模式加密成一个字符串,然后传给后端,后端在进行解密并验证
废话不多说,上代码:
import com.alibaba.fastjson.JSONObject;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.util.Objects;
public class AESUtil {
private final static String KEY = "1111111111111111"; // key:必须16个字符,且要和前端保持一致
private final static String IV = "1111111111111111"; // 偏移量:必须16个字符,且要和前端保持一致
public static void main(String[] args) {
JSONObject map = new JSONObject();
map.put("username","11111111");
map.put("password","11111111");
//加密
String encrypted = encrypt(map.toString());
//解密
String decrypted = decrypt("3220A42B22540A2B55F3C4CBF8AD0BFCDCFC1DCED69F96F9A36823A44FF13DC341EF436DBD6BFB3983577B7271193ACE");
System.out.println("加密前:" + map);
System.out.println("加密后:" + encrypted);
System.out.println("解密后:" + decrypted);
}
/**
* 加密返回的数据转换成 String 类型
*
* @param content 明文
*/
public static String encrypt(String content) {
return