這幾天在看一點JavaWeb详幽,嘗試自己寫一個小項目惯裕,在用戶注冊的時候我想的是將用戶的密碼加密再存入到數(shù)據(jù)庫當中的诞帐。
既然是加密用戶的密碼古徒,那肯定還得有解密摆马。于是開始查資料臼闻,查了一堆加密算法,RES囤采,AES述呐,DES,Base64加密斑唬。
找了挺久市埋,發(fā)現(xiàn)都需要依賴第三方j(luò)ar包,果斷放棄恕刘,我只是想簡單的加密一下而已缤谎。沒太大的必要再去依賴一個jar。
最后發(fā)現(xiàn)在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
解密后:這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字這是一段文字