Security 初級

JDK内部クラスやサードパーティ製コーデックの代わりにjava.util.Base64を使用する。

✕ Internal JDK API
String encoded = new sun.misc.BASE64Encoder()
    .encode(data);
✓ Java 8+
String encoded = Base64.getEncoder()
    .encodeToString(data);
このコードに問題がありますか? お知らせください。
🛡️

サポート対象のAPI

アクセスできないsun.misc実装クラスを回避できます。

🧩

すべてのバリアント

基本形式、URLセーフ形式、MIME形式のエンコーダーとデコーダーが含まれます。

🚀

依存関係なし

エンコードとデコードはJDKに組み込まれています。

旧来のアプローチ
sun.miscエンコーダー
モダンなアプローチ
標準Base64 API
JDKバージョン
8
難易度
初級
標準Base64エンコードとデコード
利用可能

JDK 8(2014年3月)以降、広く利用可能

標準Base64 APIは、サポート対象外の内部パッケージに依存せず、基本形式、URLセーフ形式、MIME形式のエンコーダーとデコーダーを提供します。標準Base64にはgetEncoder()とgetDecoder()を使用し、対象形式で必要な場合はURL形式またはMIME形式を選択します。