Base64 Encoding (mã hóa Base64) trong Java
- 20-10-2023
- Toanngo92
- 0 Comments
Java 8 bao gồm một bộ mã hóa và giải mã dựng sẵn cho mã hóa Base64. Có ba loại mã hóa Base64:
Mục lục
Mã hóa đơn giản
Giới hạn đầu ra cho một tập hợp các ký tự từ A-Z, a-z, 0-9 và +/.
Ví dụ:
package com;
import java.util.Base64;
/**
*
* @author toan1
*/
public class Base64Example {
public static void main(String[] args) {
// Mã hóa mẫu
String textToEncode = "Toanngo92";
String asB64 = Base64.getEncoder().encodeToString(textToEncode.getBytes());
System.out.println(asB64); // This will print the encoded string VG9hbm5nbzky
// Giải mã mẫu
byte[] asBytes = Base64.getDecoder().decode("VG9hbm5nbzky");
String decodedText = new String(asBytes);
System.out.println(decodedText); // This will print "Toanngo92"
}
}
Mã hóa URL
URL: Đầu ra cuối cùng đảm bảo an toàn tên tệp và URL và giới hạn đầu ra cho một tập hợp các ký tự từ A-Z, a-z, 0-9 và +_.
- getUrlDecoder(): Hiển thị một Base64.Decoder mà xử lý việc giải mã kiểu base64 an toàn cho URL và tên tệp.
- getUrlEncoder(): Hiển thị một Base64.Encoder mà xử lý việc mã hóa kiểu base64 an toàn cho URL và tên tệp.
Ví dụ:
import java.util.Base64;
import java.io.UnsupportedEncodingException;
import java.util.UUID;
public class HelloWorld {
public static void main(String[] args) {
try {
// Encoding a string using Base64 (Basic)
String sampleBase64EncoStr = Base64.getEncoder()
.encodeToString("Toanngo92".getBytes("utf-8"));
System.out.println("Encoded String (Basic) looks like this: " + sampleBase64EncoStr);
// Decoding a string using Base64
byte[] base64decodedBytes = Base64.getDecoder()
.decode(sampleBase64EncoStr);
System.out.println("Decoded string is: " + new String(base64decodedBytes, "utf-8"));
// Encoding a string using Base64 (URL)
sampleBase64EncoStr = Base64.getUrlEncoder()
.encodeToString("Toanngo92".getBytes("utf-8"));
System.out.println("Encoded String (URL) looks like this: " + sampleBase64EncoStr);
StringBuilder strBuild = new StringBuilder();
for (int j = 0; j < 10; j++) {
strBuild.append(UUID.randomUUID().toString());
}
byte[] sampleMimeBytes = strBuild.toString().getBytes("utf-8");
String sampleMimeEncoStr = Base64.getMimeEncoder()
.encodeToString(sampleMimeBytes);
System.out.println("Encoded String (MIME) looks like this: " + sampleMimeEncoStr);
} catch (UnsupportedEncodingException e) {
// Handle the error
System.out.println("Unsupported encoding Error: " + e.getMessage());
}
}
}