java使用Base64 加密
时间: 2024-10-16 18:13:17 浏览: 51
在Java中,Base64加密是一种常见的数据编码方式,用于将二进制数据转换成ASCII字符序列,便于在网络传输或存储文本环境中保留原始数据的结构。以下是使用Java内置`java.util.Base64`类对字符串进行Base64编码的一个简单示例[^1]:
```java
import java.util.Base64;
public class Main {
public static void main(String[] args) {
String originalData = "This is a test string";
byte[] encodedBytes = Base64.getEncoder().encode(originalData.getBytes());
String encodedString = new String(encodedBytes);
System.out.println("Encoded string: " + encodedString);
}
}
```
在这个例子中,`getEncoder()`方法返回一个`Base64.Encoder`实例,然后调用其`encode()`方法将字符串转换为Base64编码的字节数组。
如果你想要更深入地了解其他库如Commons Codec或Bouncy Castle的实现,它们可能提供了更多的选项和配置[^2],但上述JDK自带的方式是最基础且广泛使用的。
相关问题
java使用base64加密解密
Java中提供了Base64类来进行Base64编码和解码。以下是使用Base64类进行加密和解密的示例代码:
1. Base64编码:
```java
import java.util.Base64;
public class Base64Demo {
public static void main(String[] args) {
String str = "Hello, world!";
byte[] encodedBytes = Base64.getEncoder().encode(str.getBytes());
String encodedStr = new String(encodedBytes);
System.out.println(encodedStr); // 输出:SGVsbG8sIHdvcmxkIQ==
}
}
```
2. Base64解码:
```java
import java.util.Base64;
public class Base64Demo {
public static void main(String[] args) {
String encodedStr = "SGVsbG8sIHdvcmxkIQ==";
byte[] decodedBytes = Base64.getDecoder().decode(encodedStr);
String decodedStr = new String(decodedBytes);
System.out.println(decodedStr); // 输出:Hello, world!
}
}
```
需要注意的是,Base64编码后得到的结果是一个字节数组,需要转换成字符串才能输出或保存。解码时也需要先将字符串转换成字节数组。
java 实现base64加密
Java 可以使用 java.util.Base64 类来实现 Base64 编码。下面是一个示例代码:
```
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Main {
public static void main(String[] args) {
String originalInput = "要加密的文本";
byte[] inputBytes = originalInput.getBytes(StandardCharsets.UTF_8);
// 加密
byte[] encodedBytes = Base64.getEncoder().encode(inputBytes);
String encodedString = new String(encodedBytes, StandardCharsets.UTF_8);
System.out.println("Encoded: " + encodedString);
// 解密
byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes);
String decodedString = new String(decodedBytes, StandardCharsets.UTF_8);
System.out.println("Decoded: " + decodedString);
}
}
```
运行结果如下:
```
Encoded: 6L+Z5pys5paH5Lu2
Decoded: 要加密的文本
```
阅读全文
相关推荐















