感謝を解読し、私がダウンして、基本的なコードを取得することができましたここでは一例Process the value of preference before save in Android?ベースEditTextPreferenceを拡張し、DMONする
/暗号化します。しかし、私の価値はデバイス上のpreferences.xmlに暗号化されて保存されていません。私はこれが自分の部分(java初心者)の単純な間違いであることを知っています。
私の暗号化および復号化クラスは、EditTextPreferenceコードの外で動作しています。
種類よろしく、
マイク
マイあるpreferences.xml
<ping.test.com.EncryptedEditTextpreference
android:key="key"
android:summary="Enter Your Public Key"
android:title="Public Key"
android:inputType="textPassword"/>
</PreferenceCategory>
EditTextPreference
package ping.test.com;
import android.content.Context;
import android.preference.EditTextPreference;
import android.util.AttributeSet;
public class EncryptedEditTextPreference extends EditTextPreference {
public EncryptedEditTextPreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public EncryptedEditTextPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public EncryptedEditTextPreference(Context context) {
super(context);
}
@Override
public String getText() {
String value = super.getText();
try {
return SimpleCrypto.decrypt("BiteMe", value);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return value;
}
@Override
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
super.setText(restoreValue ? getPersistedString(null) : (String) defaultValue);
}
@Override
public void setText(String text) {
try {
super.setText(SimpleCrypto.encrypt("BiteMe", text));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
私はログを見てみましょう..私はデバイスに物理的なアクセスは問題だが、ユーザーがいないアプリケーション継続的にパスワードを入力したいと思うなら、少なくともクリアテキストではないと思う。 – Mike
データを暗号化するランダムな塩を生成することができます。初めてユーザーがアプリを実行するときに 'java.util.UUDI.randomUUID()。toString()'が実行されます。より安全にするためには、[ロックパターン](https://code.google.com/p/android-lockpattern/)を、簡単に:-)使用することができます。ユーザーがデータを消去できないようにするにはこのフラグを 'application'(AndroidManifest.xml)の中で使ってください:' android:manageSpaceActivity = "あなたの偽の活動"。 –
@haibison塩は、ユーザーが(少なくとも電話が根っこになっていれば)アクセスできるので、何も変わらない!しかし、これは "どのように私はセキュリティを実装することができますか"という質問ではありません。 –