2012年8月16日木曜日

JavaのBASE64エンコードで、sun.misc.BASE64Encoder から org.apache.commons.codec.binary.Base64 に乗り換え

JavaのBASE64エンコードで、sun.misc.BASE64Encoder から org.apache.commons.codec.binary.Base64 に乗り換えました。Java Play framework 2.0で、何の前触れもなく、突然「警告:sun.misc.BASE64Encoder は Sun が所有する API であり、今後のリリースで削除される可能性があります。」と表示されるようになり、身動きが取れなくなってしまいました。前々から、同様の警告が出ていたのはわかっていたのですが、問題なく利用できていたので、そのままにしていたのですが、そのツケが回ってきました。仕方なく対処です。とりあえず動いてくれています。

文字列から文字列への変換です。バイナリへの変換は、参考サイトをどうぞ。
import org.apache.commons.codec.binary.Base64;

public static String base64encode(String raw) {
    try {
        return new String(Base64.encodeBase64(raw.getBytes()), "ASCII");
    } catch (UnsupportedEncodingException e) {
        return null;
    }
}

public static String base64decode(String base64) {
    try {
        return new String(Base64.decodeBase64(base64.getBytes("ASCII")));
    } catch (UnsupportedEncodingException e) {
        return null;
    }
}
参考
Base64Encoder.java

0 件のコメント:

コメントを投稿