AES暗号化プロバイダを探してましたが、昔使った記憶があるもの http://www.bouncycastle.org/
にたどりつきました。
stackoverflow で紹介されていた 暗号化プロバイダに、bouncycastle を使ったAES暗号化のサンプル
http://stackoverflow.com/questions/3150830/android-encryption
で、以下が紹介、、、
http://www.java2s.com/Code/Java/Security/EncryptionanddecryptionwithAESECBPKCS7Padding.htm
このプログラム、鍵に誤りがあって動かない。AES128 なら、鍵のバイト数が16バイトでなければならないのに、
サンプルは、18バイトになってる。セキュリティ上、わざと?
サンプルのままでは、以下のエラー
java.security.InvalidKeyException: Illegal key size or default parameters
が発生する。
さらに、bouncycastle プロバイダを使用できるようにするためには、
本当は、、、
$JAVA_HOME/jre/lib/ext/ の下に、http://www.bouncycastle.org/ からダウンロードした
JAR ファイルを置き、
$JAVA_HOME/jre/lib/security/java.security に、以下を追記、
security.provider.9=org.bouncycastle.jce.provider.BouncyCastleProvider
という約束だったと思うが、JAR を クラスパスに入れて、
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
を代わりに実行することで
修正したサンプルは動いた。
jar の場所→ http://www.bouncycastle.org/latest_releases.html