如何在Xamarin Android中安装和加密dara

时间:2016-12-18 05:48:52

标签: xamarin.android

我正在使用存储用户卡信息的Xamarin android编写银行支付应用程序。 我正在寻找一种安全可靠的存储数据。 我找到的唯一一件事是在链接下面存储对我来说无用的帐户信息:

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

1 个答案:

答案 0 :(得分:1)

KeyStore是在Android上存储敏感数据的最安全方式。你可以存储任何东西,如果可以将它序列化为字符串。

例如,您可以使用免费库KeyChain.Net,它提供了清晰的API,用于保存和转发来自Android和iOS KeyStore的数据。

如果您想使用帐户信息和信用卡号保存班级,可以使用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);
    }
}

保存帐户:

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;
}