package test;
import java.util.Base64;
import java.util.UUID;
import java.io.UnsupportedEncodingException;
public class HelloWorld {
public static void main(String args[]){
try {
// Encode using basic encoder
String base64encodedString = Base64.getEncoder().encodeToString("TutorialsPoint?java8".getBytes("utf-8"));
System.out.println("Base64 Encoded String (Basic) :" + base64encodedString);
// Decode
byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString);
System.out.println("Original String: " + new String(base64decodedBytes, "utf-8"));
base64encodedString = Base64.getUrlEncoder().encodeToString("TutorialsPoint?java8".getBytes("utf-8"));
System.out.println("Base64 Encoded String (URL) :" + base64encodedString);
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < 10; ++i) {
stringBuilder.append(UUID.randomUUID().toString());
}
byte[] mimeBytes = stringBuilder.toString().getBytes("utf-8");
String mimeEncodedString = Base64.getMimeEncoder().encodeToString(mimeBytes);
System.out.println("Base64 Encoded String (MIME) :" + mimeEncodedString);
}catch(UnsupportedEncodingException e){
System.out.println("Error :" + e.getMessage());
}
}
}
Base64 Encoded String (Basic) :VHV0b3JpYWxzUG9pbnQ/amF2YTg=
Original String: TutorialsPoint?java8
Base64 Encoded String (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg=
Base64 Encoded String (MIME) :Njg0Y2E2ZWEtNDdiYi00MzRiLTgwYjItMGI wZDM3NTdhZ DlkN2Y1ZmR hM2ItZjE4Y i00ZWQ2LWE 3
ZTQtMTljOTZlMDZmYzU3ZjU5MzU2NzktNDQw OC00YjkxLW E4NjktMDc2 MGI1MTQwZm I4OWIyOTlh
ZmUtYjdlYi00MmM5LWI2NjYtOWVhMzA2NjUz OTFhMmI2Nz ZiMjctMTI4 ZS00ZmU3LW JkYzctYTYx
NjI0N2U3MmMzYjU0NzZkYmYtN2U4OS00ZmJk LTg0NmYtZD MwOTFlZjEw ZWJhNTczZj MzZDgtNmYy
YS00ZTgzLThhY2YtNWM2ODk4OTgyYWM4ZjBk NzlhZGMtMz Q4Yi00NGE0 LWE4NTUtNT c4ODdmMTll
MDE2MzYwNzdlYWUtYjQ3Mi00ZjM1LTk3Yjkt Mjc3ZGJjYT A2NzcwOWM4 YTAwMDYtZD liZC00Mjdh
LWJlNmItMzA5YTk1ODViNDFk
Since:
1.8
Base64 is encoding, not encryption.
a fairly detailed technical explanation of base64there is one problem with the explanation: it uses the term ASCII as it would be an 8-bit code (256 code numbers). ASCII however is 7 bit only (128 code numbers) and the 8-bit enhancement is called ANSI. the first 128 code numbers of ANSI from 0 to 127 are identical to ASCII.
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
can you name some of popular 3rd party libraries and JRE classes?