我正在使用存储用户卡信息的Xamarin android编写银行支付应用程序。 我正在寻找一种安全可靠的存储数据。 我找到的唯一一件事是在链接下面存储对我来说无用的帐户信息:
https://developer.xamarin.com/recipes/cross-platform/xamarin-forms/general/store-credentials/
答案 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;
}