我是Windows商店应用开发的新手。我正在创建一个Windows应用商店应用程序,它需要在客户端存储一些数据。此数据以JSON格式呈现,其中Build Action as Content。每当用户运行应用程序时,我都会通过读取此JSON文件来初始化一些对象。但是,这只是一个纯文本,包含不应向用户显示的数据。我可以通过任何方式加密此JSON。我基本上需要一种解决方法,在构建应用程序时加密json数据并在读取和初始化对象时解密此json。请建议。
答案 0 :(得分:2)
我假设你的代码是这样的:
string json = File.ReadAllText("/<path to json>/config.json");
// Parse the json ...
您可以使用AES加密来加密JSON文件的内容。 您需要定义一个用于加密和解密的密钥。
在这里查看:using AES encrypt / decrypt in c#
使用加密后,您的代码将如下所示:
当您需要阅读配置时:
string encryptedJson = File.ReadAllText("/<path to json>/config.json");
string aesKey = "<your aes key>";
string plainJson = AesDecrypt(encryptedJson, aesKey);
// Parse the json ...
需要保存配置时:
// Generate json ...
string plainJson;
string aesKey = "<your aes key>";
string encryptedJson = AesEncrypt(plainJson, aesKey);
File.WriteAllText("/<path to json>/config.json", encryptedJson);
请注意,您的密钥可以使用反射方法从已编译的程序集中提取