You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

68 lines
1.9 KiB

using Newtonsoft.Json;
using OT.COM.Encryption;
using OT.COM.LogisticsUtil;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace SoldierData
{
public class SecretData
{
public string GetSecretFolder()
{
return System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "ChipMOS");
}
public string GetSecretFilePath()
{
return System.IO.Path.Combine(GetSecretFolder(), "Secret.dat");
}
public string GetData(out Dictionary<string,string> o_dicData)
{
string sMsg = null;
Dictionary<string, string> dicRes = null;
Util u = new Util();
try
{
do
{
string sPath = GetSecretFilePath();
if (File.Exists(sPath) == false)
{
sMsg = "SECRET FILE NOT EXIST";
break;
}
AEncryption.DataInfo di = new AEncryption.DataInfo();
di.Key = u.GetSettingString("KEY");
di.IV = u.GetSettingString("IV");
string sRes = new AES().DecryptByteToString(File.ReadAllBytes(sPath),
System.Text.Encoding.Unicode.GetBytes(di.Key),
System.Text.Encoding.Unicode.GetBytes(di.IV));
Dictionary<string, string> dicResTemp = new Dictionary<string, string>();
dicResTemp = JsonConvert.DeserializeObject<Dictionary<string, string>>(sRes);
dicRes = dicResTemp;
}
while (false);
}
catch(Exception ex)
{
sMsg = u.GetLastExceptionMsg(ex);
}
o_dicData = dicRes;
return sMsg;
}
}
}