Apakah ada yang tahu cara mendekode dan menyandikan string di Base64 menggunakan Base64. Saya menggunakan kode berikut, tetapi tidak berfungsi.
String source = "password";
byte[] byteArray = source.getBytes("UTF-16");
Base64 bs = new Base64();
//bs.encodeBytes(byteArray);
System.out.println( bs.encodeBytes(byteArray));
//bs.decode(bs.encodeBytes(byteArray));
System.out.println(bs.decode(bs.encodeBytes(byteArray)));
import android.util.Base64;
dan kemudian dapat menggunakanBase64.encodeToString
&Base64.decode
sesuai dengan kebutuhan AndaJawaban:
Pertama:
Ujung transmisi:
text.getBytes(encodingName)
)Base64
kelasPihak penerima:
Base64
kelasnew String(bytes, encodingName)
)Jadi sesuatu seperti:
Atau dengan
StandardCharsets
:sumber
UTF-8
dijamin penyandian yang valid di Java: lihat docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html . Harus diakui hari ini saya akan menentukanStandardCharsets.UTF_8
. Saya telah memperbarui jawaban untuk menentukan bahwa Anda harus percaya diri di hadapan charset, tapi aku cukup banyak selalu menggunakan UTF-8.Bagi siapa pun yang berakhir di sini saat mencari info tentang cara mendekodekan string yang disandikan
Base64.encodeBytes()
, inilah solusi saya:Juga, saya mendukung versi Android yang lebih lama jadi saya menggunakan pustaka Base64 Robert Harder dari http://iharder.net/base64
sumber
Untuk Kotlin mb lebih baik menggunakan ini:
Contoh:
sumber
Jika Anda menggunakan Kotlin daripada menggunakan seperti ini
Untuk Encode
Untuk Decode
sumber
sesuatu seperti
sumber
Untuk mengenkripsi:
Untuk mendekripsi:
sumber
Berdasarkan jawaban sebelumnya saya menggunakan metode utilitas berikut jika ada orang yang ingin menggunakannya.
sumber
Untuk API level 26+
Ref: https://developer.android.com/reference/java/util/Base64.Encoder.html#encodeToString (byte [])
sumber
Kelas 'java.util.Base64' menyediakan fungsionalitas untuk menyandikan dan mendekode informasi dalam format Base64.
Bagaimana cara mendapatkan Base64 Encoder?
Bagaimana cara mendapatkan Base64 Decoder?
Bagaimana cara menyandikan data?
Bagaimana cara mendekode data?
Anda bisa mendapatkan detail lebih lanjut di tautan ini .
sumber
sumber
sumber
untuk API Android
byte[]
keBase64String
encodersumber