ローカルにあるデータファイル(画像やテキストなど)を暗号化してローカルに保存する処理を
作っているのですがセキュリティに関して質問があります。

暗号化はAESを使うのですが、アプリ内部で暗号・複合を行うため、ユーザにはパスワードなどは入力させません。
そうすると、
SecretKeySpec key = new SecretKeySpec(鍵, "AES");
の鍵をどこかで保存しておく必要があると思います。
しかし、root権限を持っていれば、/data/data/・・・に置いても見られてしまいます。

そこで、その鍵にapkの自己署名をtoCharsString()した値を利用しようかと思います。
getPackageManager().getPackageInfo(getPackageName(),PackageManager.GET_SIGNATURES).signatures[0].toCharsString();

この自己署名の値って、解析するなどして簡単にバレるようなものでしょうか?
セキュリティ的にまずかったりしますか?