这几天在看一点 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
解密后:这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于