如何将对象数据存储为秘密值

问题描述:

我需要将两个字符串作为密钥库中的一个秘密值存储。 帐户=“AA”键=“1254”如何将对象数据存储为秘密值

但所有SetSecretAsync语法接受一个字符串作为秘密值..

我不知道,如果标签可以在这里revelevant。

请帮忙!

+0

你的意思是SetSecretAsync(“aSecretIdentifier”,“account =”“aa”“key =”“1254”“”)? –

+0

类似的东西,但我宁愿有两个分离的字符串或具有两个字符串值的对象。我无法找到解决方案来将对象作为秘密值。 – shha

您可以使用Newtonsoft Json.NET序列化对象的JSON字符串:

var account = new Account { account = "aa", key = "1254" }; 

string json = JsonConvert.SerializeObject(account); 

此字符串将包含这样的:

{"account":"aa","key":"1254"} 

可存储作为秘密。

当您随后加载的秘密,你可以再使用Json.NET反序列化的字符串返回一个对象:

var account = JsonConvert.DeserializeObject<Account>(json); 

至于标签,您可以使用标签来表明什么是包含在秘密中,如果你要在秘密中存储不同的对象类型(例如,不仅仅是账号),这可能很有用。标签只是键值对,所以你可以创建一个标签,像这样:

secret.Tags = new Dictionary<string, string>(); 
secret.Tags["Type"] = "Account"; 

但如果你总是会存储帐户,那么这是不是绝对必要的。