【发布时间】:2016-06-14 20:15:25
【问题描述】:
我有几个类似的 JSON 结构,我想将它们写入 SQL 表以进行日志记录。但是,JSON 中的某些字段包含敏感信息,我想对其进行部分屏蔽,因此完整值在日志中不可见。
以下是其中一种 JSON 结构的示例:
{
"Vault": 1,
"Transaction": {
"gateway": {
"Login": "Nick",
"Password": "Password"
},
"credit_card": {
"number": "4111111111111"
}
}
}
在这种情况下,我正在尝试更改 4111 信用卡号,使其在 JSON 中看起来像 4xxx1111。我正在使用 Newtonsoft 并将 JSON 反序列化为 JObject,但我被困在如何屏蔽该值上。我认为线索是JToken,但还没有弄清楚。我想让解决方案尽可能通用,以便它适用于我可能需要注销的任何 JSON 结构。
任何帮助将不胜感激。
【问题讨论】:
-
反序列化过程中是否必须进行屏蔽?为什么不立即屏蔽它?
-
根本不需要在反序列化期间完成。实际上,我已经将它反序列化为一个 JObject。我认为线索与 JToken 有关,但尚未弄清楚。这里的意图是我将获取整个包并最终将其记录到 SQL 表中。但是,我不能只输入整个信用卡号。这是一个 CYA “不,这是你发给我的”类型的日志。此外,这只是其中一种结构的示例,其他结构非常相似但不完全相同,所以我尽量保持通用。