Java 8 より導入された java.util.Base64 を使ってみる[プログラミング]
(2017-07-06 17:23:38) by shinoda


Web アプリケーションの開発では、Base64 エンコード/デコードを息をするように使うので(ホント?)、Java 8から導入されたという Java 標準の Base64 クラスを使ってみた。

さっき、「試しに JSF の新規プロジェクトを作成してみた」というエントリーで作ったプロジェクトを改造。

1.helloBean.java

・Base64 クラスのインポートを追加。

import java.util.Base64;

・変換後の文字列を格納する変数 b64 と getter を設定。

    private String b64;

    public String getB64() {
return b64;
    }

・send クラスに Base64 エンコード処理を追加

        this.b64 = "Base64 Encode=> " + Base64.getEncoder().encodeToString(this.name.getBytes());

2.output.xhtml

・Base64 エンコード結果の表示を追加

        <h:outputText value="#{helloBean.b64}" />

と、まあ、こんな感じで。

実際に実行してみる。

<画像:20170706_netbean6.jpg>

<画像:20170706_netbean7.jpg>

おお、なんかエンコードされている。

「猪俣 性交渉」が「kpaWk4FAkKuM8I/C」に変換されたんやな。

試しに、Perl で Base64 デコードプログラム作って、「kpaWk4FAkKuM8I/C」をデコードしてみる。

プログラムソースはこんな感じ。

#!/usr/bin/perl
use MIME::Base64;
print "Word=> ";
$w = <STDIN>;
chomp $w;
$w = decode_base64($w);
print "Decode Word=> $w\n";

じゃ、実際に実行。

$ ./b64decode.pl
Word=> kpaWk4FAkKuM8I/C
Decode Word=> 猪俣 性交渉

おお!!ちゃんと「猪俣 性交渉」に戻ったやん!!
あ、「猪俣 公章」って打ったつもりが「猪俣 性交渉」になってた!!

コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8