天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
文章目录
- 1. 简介
- 2. Base64Utils
- 2.1 代码
- 2.2 使用
- 2.3 输出
- 3. Base64Utils2
- 3.1 代码
- 3.2 使用
- 3.3 输出
- 4. 直接使用
- 4.1 代码
- 3.2 输出
- 5. 总结
加密解密的相关文章参考:
BASE64加密解密
MD5加密
SHA加密解密
RSA加密解密
1. 简介
严格来说BASE64的加密解密是指编码格式,而非加密算法
我们暂且将它归为加解密方式的一种
对于Base64的使用有两种方式:
第一种直接使用sun.misc包下的BASE64工具
第二种是使用org.springframework包下的Base64Utils工具
相较于第一种,第二种更为方便。
下面封装了两个工具类以及一个直接使用的例子
2. Base64Utils
使用sun的misc包下的BASE64(不建议使用)
2.1 代码
Base64Utils.java
package com.libai.utils.encryption_utils;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import java.io.IOException;
/**
* @ClassDescription: 不能算加密算法,只能叫编码格式,这里也把他归为加密的一种
* 注意,java中可以直接使用org.springframework.util.Base64Utils
* @JdkVersion: 1.8
* @Author: 李白
* @Created: 2024/3/23 10:35
*/
public class Base64Utils {
/**
* 加密字符串
* @param str 需要加密的字符串
* @return 返回加密后的字符串
*/
public static String encryptBase64(String str){
byte[] bytes = str.getBytes();
BASE64Encoder base64Encoder = new BASE64Encoder();
String encryptStr = base64Encoder.encodeBuffer(bytes);
return encryptStr;
}
/**
* 解密字符串
* @param str 需要解密的字符串
* @return 返回解密后的字符串内容
*/
public static String decryptBase64(String str){
BASE64Decoder base64Decoder = new BASE64Decoder();
byte[] bytes = new byte[0];
try {
bytes = base64Decoder.decodeBuffer(str);
} catch (IOException e) {
throw new RuntimeException(e);
}
String decryptStr = new String(bytes);
return decryptStr;
}
}
2.2 使用
编写main方法,应用
Base64Test.java
package com.libai.test.encrypt_test;
import com.libai.utils.encryption_utils.Base64Utils;
/**
* @ClassDescription:
* @JdkVersion: 1.8
* @Author: 李白
* @Created: 2024/3/23 11:00
*/
public class Base64Test {
public static void main(String[] args) {
String string = "123456asd";
System.out.println("所输入的字符串:"+string);
//加密
String encryptStr = Base64Utils.encryptBase64(string);
System.out.println("加密后的字符串:"+encryptStr);
//解密
String decryptStr = Base64Utils.decryptBase64(encryptStr);
System.out.println("解密后的字符串:"+decryptStr);
}
}
2.3 输出
执行方法输出加密和解密的内容
3. Base64Utils2
org的springframework.utils包下的Base64Utils
3.1 代码
Base64Utils2.java
package com.libai.utils.encryption_utils;
import org.springframework.util.Base64Utils;
/**
* @ClassDescription: 直接使用java自带的Base64Utils工具封装的加解密方法
* @JdkVersion: 1.8
* @Author: 李白
* @Created: 2024/3/23 15:00
*/
public class Base64Utils2 {
/**
* 加密
* @param str 需要加密的字符串
* @return 加密后的字符串
*/
public static String base64UtilsEncrypt(String str){
return Base64Utils.encodeToString(str.getBytes());
}
/**
* 解密
* @param str 需要解密的字符串
* @return 解密后的字符串
*/
public static String base64UtilsDecrypt(String str){
byte[] bytes = Base64Utils.decodeFromString(str);
return new String(bytes);
}
}
3.2 使用
编写main方法,应用
Base64Test.java
package com.libai.test.encrypt_test;
import com.libai.utils.encryption_utils.Base64Utils2;
/**
* @ClassDescription:
* @JdkVersion: 1.8
* @Author: 李白
* @Created: 2024/3/23 11:00
*/
public class Base64Test {
public static void main(String[] args) {
String string = "123456asd";
System.out.println("所输入的字符串:"+string);
String encryptStr2 = Base64Utils2.base64UtilsEncrypt(string);
System.out.println("加密后的字符串:"+encryptStr2);
String decryptStr2 = Base64Utils2.base64UtilsDecrypt(encryptStr2);
System.out.println("解密后的字符串:"+decryptStr2);
}
}
3.3 输出
执行,查看加密解密的结果
4. 直接使用
在代码中直接使用java的Base64Utils工具类
4.1 代码
直接使用
Base64Test.java
package com.libai.test.encrypt_test;
import org.springframework.util.Base64Utils;
/**
* @ClassDescription:
* @JdkVersion: 1.8
* @Author: 李白
* @Created: 2024/3/23 11:00
*/
public class Base64Test {
public static void main(String[] args) {
String string = "123456asd";
System.out.println("所输入的字符串:"+string);
//加密
String encryptStr2 = Base64Utils.encodeToString(string.getBytes());
System.out.println("加密后的字符串:"+encryptStr2);
//解密
byte[] bytes = Base64Utils.decodeFromString(encryptStr2);
String decryptStr2 = new String(bytes);
System.out.println("解密后的字符串:"+decryptStr2);
}
}
3.2 输出
执行,查看加密解密的结果
5. 总结
对于Base64的使用,仅限于简单加密需求的编码解码
对于安全性较高的需求尽量使用更为安全的加密解密方式
感谢阅读,祝君暴富!