Javaプログラム上で高機密性情報(パスワード文字列など)を扱う場合、セキュリティ的にはjava.lang.Stringクラスよりchar型の配列char[]の方が好ましい。 Java言語の文字列Stringインスタンスは不変(Immutable)なオブジェクトであり、メモリ上からデータ破棄されるタイミングはGCに依存する。一方char[]ならばプログラマがメモリ上でのデータ存在期間を制御できる。 関連URL java - Why is char[] preferred over String for passwords? - Stack Overflow Java Cryptography Architecture(JCA) Reference Guide: Using Password-Based Encryption, パスワードベース暗号化の使用