这几天在看一点JavaWeb,尝试自己写一个小项目,在用户注册的时候我想的是将用户的密码加密再存入到数据库当中的。
既然是加密用户的密码,那肯定还得有解密。于是开始查资料,查了一堆加密算法,RES,AES,DES,Base64加密。
找了挺久,发现都需要依赖第三方jar包,果断放弃,我只是想简单的加密一下而已。没太大的必要再去依赖一个jar。
最后发现在JDK的api里面藏着一个Base64的类。。。不扯了,直接上代码。
这是我封装了的加密解密方法
/**
* Base64解密
* @param encoder
* @return
*/
public static String aesDecrypt(String encoder) {
try {
byte by[] = Base64.getDecoder().decode(encoder.getBytes("UTF-8"));
return new String(by, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* Base64加密
* @param decode
* @return
*/
public static String aesEncrypt(String decode) {
try {
return Base64.getEncoder().encodeToString(decode.getBytes("UTF-8"));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
使用很简单。啊哈哈
public static void main(String[] args) throws Exception {
String decode = "这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字";
System.out.println("加密前:"+decode);
String encoder = aesEncrypt(decode);
System.out.println("加密后:"+encoder);
System.out.println("解密后:"+aesDecrypt(encoder));
}
最后贴一下控制台输出的Log
加密前:这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字
加密后:6L+Z5piv5LiA5q615paH5a2X6L+Z5piv5LiA5q615paH5a2X6L+Z5piv5LiA5q615paH5a2X6L+Z5piv5LiA5q615paH5a2X6L+Z5piv5LiA5q615paH5a2X6L+Z5piv5LiA5q615paH5a2X6L+Z5piv5LiA5q615paH5a2X6L+Z5piv5LiA5q615paH5a2X6L+Z5piv5LiA5q615paH5a2X6L+Z5piv5LiA5q615paH5a2X6L+Z5piv5LiA5q615paH5a2X
解密后:这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字