Java, şifrelemeyle başa çıkmak için Base64 sınıfını sağlar. Sağlanan yöntemleri kullanarak verilerinizi şifreleyebilir ve şifresini çözebilirsiniz. Yöntemlerini kullanmak için Java.util.Base64'ü kaynak dosyanıza aktarmanız gerekir.
Bu sınıf, her düzeyde bilgiyi şifrelemek için üç farklı kodlayıcı ve kod çözücü sağlar. Bu yöntemleri aşağıdaki düzeylerde kullanabilirsiniz.
Temel Kodlama ve Kod Çözme
Kodlama ve kod çözme işlemleri için Java tarafından RFC 4648 ve RFC 2045'te belirtilen Base64 alfabesini kullanır. Kodlayıcı herhangi bir satır ayırıcı karakter eklemez. Kod çözücü, base64 alfabesinin dışındaki karakterleri içeren verileri reddeder.
URL ve Dosya Adı Kodlama ve Kod Çözme
Kodlama ve kod çözme işlemleri için Java tarafından RFC 4648'de belirtilen Base64 alfabesini kullanır. Kodlayıcı herhangi bir satır ayırıcı karakter eklemez. Kod çözücü, base64 alfabesinin dışındaki karakterleri içeren verileri reddeder.
MIME
Kodlama ve kod çözme işlemleri için RFC 2045'te belirtilen Base64 alfabesini kullanır. Kodlanmış çıktı, her biri en fazla 76 karakterden oluşan satırlarla temsil edilmeli ve satır ayırıcı olarak bir satırbaşı ' ' ve hemen ardından satır besleme ' ' kullanılmalıdır. Kodlanmış çıktının sonuna herhangi bir satır ayırıcı eklenmez. Base64 alfabe tablosunda bulunmayan tüm satır ayırıcılar veya diğer karakterler kod çözme işleminde dikkate alınmaz.
Base64'ün İç İçe Sınıfları
Sınıf | Tanım |
---|---|
Base64.Dekoder | Bu sınıf, RFC 4648 ve RFC 2045'te belirtildiği gibi Base64 kodlama şemasını kullanarak bayt verilerinin kodunu çözmek için bir kod çözücü uygular. |
Base64.Encoder | Bu sınıf, RFC 4648 ve RFC 2045'te belirtildiği gibi Base64 kodlama şemasını kullanarak bayt verilerini kodlamak için bir kodlayıcı uygular. |
Base64 Yöntemleri
Yöntemler | Tanım |
---|---|
public static Base64.Decoder getDecoder() | Temel tür base64 kodlama şemasını kullanarak kodunu çözen bir Base64.Decoder döndürür. |
public static Base64.Encoder getEncoder() | Temel tür base64 kodlama şemasını kullanarak kodlayan bir Base64.Encoder döndürür. |
public static Base64.Decoder getUrlDecoder() | URL ve Dosya Adı güvenli türü base64 kodlama şemasını kullanarak kodu çözen bir Base64.Decoder döndürür. |
public static Base64.Decoder getMimeDecoder() | MIME türü base64 kod çözme şemasını kullanarak kodu çözen bir Base64.Decoder döndürür. |
public static Base64.Encoder getMimeEncoder() | MIME türü base64 kodlama şemasını kullanarak kodlayan bir Base64.Encoder döndürür. |
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) | Belirtilen satır uzunluğu ve satır ayırıcılarla MIME türü base64 kodlama şemasını kullanarak kodlayan bir Base64.Encoder döndürür. |
public static Base64.Encoder getUrlEncoder() | URL ve Dosya Adı güvenli türü base64 kodlama şemasını kullanarak kodlayan bir Base64.Encoder döndürür. |
Base64.Decoder Yöntemleri
Yöntemler | Tanım |
---|---|
genel bayt[] kod çözme(bayt[] kaynak) | Base64 kodlama şemasını kullanarak giriş bayt dizisindeki tüm baytların kodunu çözer ve sonuçları yeni atanmış bir çıkış bayt dizisine yazar. Döndürülen bayt dizisi, elde edilen baytların uzunluğundadır. |
genel bayt[] kod çözme(String src) | Base64 kodlama şemasını kullanarak Base64 kodlu bir String'in kodunu yeni ayrılmış bir bayt dizisine dönüştürür. |
public int kod çözme(bayt[] kaynak, bayt[] dst) | Base64 kodlama şemasını kullanarak giriş bayt dizisindeki tüm baytların kodunu çözer ve sonuçları, ofset 0'dan başlayarak verilen çıkış bayt dizisine yazar. |
genel ByteBuffer kod çözme (ByteBuffer arabelleği) | Base64 kodlama şemasını kullanarak giriş bayt arabelleğindeki tüm baytların kodunu çözer ve sonuçları yeni tahsis edilen bir ByteBuffer'a yazar. |
genel Giriş Akışı sarma (InputStream) | Base64 kodlu bayt akışının kodunu çözmek için bir giriş akışı döndürür. |
Base64.Encoder Yöntemleri
Yöntemler | Tanım |
---|---|
genel bayt[] kodlama(bayt[] kaynak) | Belirtilen bayt dizisindeki tüm baytları, Base64 kodlama şemasını kullanarak yeni tahsis edilen bayt dizisine kodlar. Döndürülen bayt dizisi, elde edilen baytların uzunluğundadır. |
public int kodlama(bayt[] kaynak, bayt[] dst) | Belirtilen bayt dizisindeki tüm baytları Base64 kodlama şemasını kullanarak kodlar ve elde edilen baytları, ofset 0'dan başlayarak verilen çıktı bayt dizisine yazar. |
public String encodeToString(byte[] src) | Belirtilen bayt dizisini Base64 kodlama şemasını kullanarak bir String'e kodlar. |
genel ByteBuffer kodlaması (ByteBuffer arabelleği) | Belirtilen bayt arabelleğinde kalan tüm baytları, Base64 kodlama şemasını kullanarak yeni tahsis edilen bir ByteBuffer'a kodlar. Geri döndüğünüzde kaynak arabelleğinin konumu, sınırına kadar güncellenecektir; limiti değişmeyecektir. Döndürülen çıktı arabelleğinin konumu sıfır olacak ve sınırı, sonuçta ortaya çıkan kodlanmış baytların sayısı olacaktır. |
genel OutputStream sarma(OutputStream işletim sistemi) | Base64 kodlama şemasını kullanarak bayt verilerini kodlamak için bir çıkış akışını sarar. |
public Base64.Encoder WithoutPadding() | Buna eşdeğer olarak kodlayan bir kodlayıcı örneği döndürür, ancak kodlanmış bayt verilerinin sonuna herhangi bir dolgu karakteri eklemez. |
Java Base64 Örneği: Temel Kodlama ve Kod Çözme
import java.util.Base64; publicclass Base64BasicEncryptionExample { publicstaticvoid main(String[] args) { // Getting encoder Base64.Encoder encoder = Base64.getEncoder(); // Creating byte array bytebyteArr[] = {1,2}; // encoding byte array bytebyteArr2[] = encoder.encode(byteArr); System.out.println('Encoded byte array: '+byteArr2); bytebyteArr3[] = newbyte[5]; // Make sure it has enough size to store copied bytes intx = encoder.encode(byteArr,byteArr3); // Returns number of bytes written System.out.println('Encoded byte array written to another array: '+byteArr3); System.out.println('Number of bytes written: '+x); // Encoding string String str = encoder.encodeToString('JavaTpoint'.getBytes()); System.out.println('Encoded string: '+str); // Getting decoder Base64.Decoder decoder = Base64.getDecoder(); // Decoding string String dStr = new String(decoder.decode(str)); System.out.println('Decoded string: '+dStr); } }
Çıktı:
Encoded byte array: [B@6bc7c054 Encoded byte array written to another array: [B@232204a1 Number of bytes written: 4 Encoded string: SmF2YVRwb2ludA== Decoded string: JavaTpoint
Java Base64 Örneği: URL Kodlama ve Kod Çözme
import java.util.Base64; publicclass Base64BasicEncryptionExample { publicstaticvoid main(String[] args) { // Getting encoder Base64.Encoder encoder = Base64.getUrlEncoder(); // Encoding URL String eStr = encoder.encodeToString('http://www.javatpoint.com/java-tutorial/'.getBytes()); System.out.println('Encoded URL: '+eStr); // Getting decoder Base64.Decoder decoder = Base64.getUrlDecoder(); // Decoding URl String dStr = new String(decoder.decode(eStr)); System.out.println('Decoded URL: '+dStr); } }
Çıktı:
Encoded URL: aHR0cDovL3d3dy5qYXZhdHBvaW50LmNvbS9qYXZhLXR1dG9yaWFsLw== Decoded URL: http://www.javatpoint.com/java-tutorial/
Java Base64 Örneği: MIME Kodlama ve Kod Çözme
package Base64Encryption; import java.util.Base64; publicclass Base64BasicEncryptionExample { publicstaticvoid main(String[] args) { // Getting MIME encoder Base64.Encoder encoder = Base64.getMimeEncoder(); String message = 'Hello, You are informed regarding your inconsistency of work'; String eStr = encoder.encodeToString(message.getBytes()); System.out.println('Encoded MIME message: '+eStr); // Getting MIME decoder Base64.Decoder decoder = Base64.getMimeDecoder(); // Decoding MIME encoded message String dStr = new String(decoder.decode(eStr)); System.out.println('Decoded message: '+dStr); } }
Çıktı:
Encoded MIME message: SGVsbG8sIApZb3UgYXJlIGluZm9ybWVkIHJlZ2FyZGluZyB5b3VyIGluY29uc2lzdGVuY3kgb2Yg d29yaw== Decoded message: Hello, You are informed regarding your inconsistency of work