java 进行base64加密
时间: 2023-04-06 09:01:02 浏览: 81
可以使用Java自带的Base64类进行加密。具体方法是先将需要加密的字符串转换为字节数组,然后调用Base64类的encodeToString方法进行加密。加密后的字符串即为Base64编码后的结果。
相关问题
java中base64加密解密
Java中的Base64是一种编码方式,可以将二进制数据转换为ASCII字符,以便于在网络上进行传输。Base64编码可以用于加密和解密数据,常用于在HTTP协议中传输数据或在邮件中传输附件等场景。
Java中提供了Base64类来实现Base64编码和解码。使用Base64类进行编码和解码的步骤如下:
1. 导入java.util.Base64类库
2. 创建Base64.Encoder和Base64.Decoder对象
3. 调用Encoder的encodeToString()方法进行编码,或调用Decoder的decode()方法进行解码
下面是一个简单的示例代码:
```
import java.util.Base64;
public class Base64Demo {
public static void main(String[] args) {
String str = "Hello, world!";
// 编码
String encodedStr = Base64.getEncoder().encodeToString(str.getBytes());
System.out.println("Encoded string: " + encodedStr);
// 解码
String decodedStr = new String(Base64.getDecoder().decode(encodedStr));
System.out.println("Decoded string: " + decodedStr);
}
}
```
输出结果为:
```
Encoded string: SGVsbG8sIHdvcmxkIQ==
Decoded string: Hello, world!
```
java手写base64加密
可以通过以下代码实现Java手写Base64加密:
```
public class Base64Encoder {
private static final char[] BASE64_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".toCharArray();
public static String encode(String input) {
byte[] bytes = input.getBytes();
StringBuilder sb = new StringBuilder();
int index;
for (int i = 0; i < bytes.length; i += 3) {
index = (bytes[i] & 0xFF) << 16;
if (i + 1 < bytes.length) {
index |= (bytes[i + 1] & 0xFF) << 8;
}
if (i + 2 < bytes.length) {
index |= bytes[i + 2] & 0xFF;
}
sb.append(BASE64_ALPHABET[(index >> 18) & 0x3F]);
sb.append(BASE64_ALPHABET[(index >> 12) & 0x3F]);
sb.append(BASE64_ALPHABET[(index >> 6) & 0x3F]);
sb.append(BASE64_ALPHABET[index & 0x3F]);
}
int padding = 0;
switch (bytes.length % 3) {
case 1:
padding = 2;
break;
case 2:
padding = 1;
break;
default:
break;
}
for (int i = 0; i < padding; i++) {
sb.setCharAt(sb.length() - 1 - i, '=');
}
return sb.toString();
}
}
```
使用示例:
```
String input = "Hello, World!";
String encoded = Base64Encoder.encode(input);
System.out.println(encoded); // SGVsbG8sIFdvcmxkIQ==
```
需要注意的是,这里的实现是没有进行URL安全处理和解码功能的,仅供参考。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)