2016-12-18 2 views
0

Я пишу банковское платежное приложение с использованием андроида Xamarin, в котором хранятся данные о пользовательских карточках. Я ищу безопасную и безопасную для хранения данных. единственного, что я нашел ниже ссылки, сохранить учетную информацию, которая бесполезна для меня:как хранить dara безопасно и зашифровано в Xamarin Android

https://developer.xamarin.com/recipes/cross-platform/xamarin-forms/general/store-credentials/

ответ

1

KeyStore является наиболее безопасным способом хранения конфиденциальных данных на Android. Вы можете хранить там что угодно, если его можно сериализовать в строку.

Например, вы можете использовать бесплатную библиотеку KeyChain.Net, которая предоставляет понятный API для сохранения и восстановления данных с Android и iOS KeyStores.

Если вы хотите сохранить класс с информацией счета и номер кредитной карты, вы можете serealize этот класс с помощью JSON Newtonsoft.Json

using System; 
using Newtonsoft.Json; 
public class Account 
{ 
    public string user_id; 
    public string credit_card_number; 

    public override string ToString() { 
     return JsonConvert.SerializeObject (this); 
    } 
} 

Save счета:

string accountKey ="secure_key"; 

    public static bool SaveAccount (Account account) { 
     KeyChainHelper keyChainHelper = new KeyChainHelper(); 
     return keyChainHelper.SetKey (accountKey, account.ToString()); 
    } 

Получить Счет:

public static Account GetSavedAccount() { 
    KeyChainHelper keyChainHelper = new KeyChainHelper(); 
    string jsonAccount = keyChainHelper.GetKey (accountKey); 
    if (jsonAccount == null || jsonAccount == "") { 
     return null; 
    } 

    Account user = JObject.Parse (jsonAccount).ToObject<Account>(); 
    return account; 
}