Base64 di Java
Pada artikel kali ini kita akan membahas tentang cara merubah sebuah string ke dalam format Base64 di Java. Base64 merupakan skema encoding yang mengubah data biner menjadi representasi teks ASCII. Tujuannya adalah agar data biner dapat di kirimkan melalui media teks seperti JSON ataupun media text lainnya. Untuk merubah string ke Base64 terdapat dua cara yaitu yang paling menggunakan class Base64
dan menggunakan class DatatypeConverter
.
Base64
Untuk contoh penggunakan encode dan decode menggunakan Base64
bisa dilihat dibawah ini, sebagai catatan Base64
baru dikenalkan sejak java versi 8 (1.8). Jadi perlu diperhatikan versi Java yg kalian gunakan sebelum menggunakan class ini.
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Main {
public static void main(String[] args) {
String txt = "Codingduluaja";
String encode2 = Base64.getEncoder().encodeToString(txt.getBytes(StandardCharsets.UTF_8));
byte[] bytes2 = Base64.getDecoder().decode(encode2);
String decode2 = new String(bytes2);
System.out.println(encode2);
System.out.println(decode2);
}
}
DatatypeConverter
Penggunaan DatatypeConverter
ini menjadi solusi jika project yang kalian menggunakan Java dibawah versi 1.8.
import jakarta.xml.bind.DatatypeConverter;
import java.nio.charset.StandardCharsets;
public class Crypto {
public static void main(String[] args) {
String txt = "Codingduluaja";
String encode1 = DatatypeConverter.printBase64Binary(txt.getBytes(StandardCharsets.UTF_8));
byte[] bytes = DatatypeConverter.parseBase64Binary(encode1);
String decode1 = new String(bytes);
System.out.println(encode1);
System.out.println(decode1);
}
}
Kesimpulan
Untuk membuat Sting Base64 di Java, Baik menggunakan class Base64
ataupun class DatatypeConverter
menghasilkan output yang sama, namum yang perlu diperhatikan adalah versi Java yang kalian gunakan. Jika java kalian >= 1.8 maka disarankan menggunakan classs Base64
namum jika Java yang kalian gunakan dibawah versi 1.8 maka gunakanlah class DatatypeConverter
.