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
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;
|
|
}
|
|
|
|
}
|
|
}
|