1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| FileManager file = new FileManager(filename);
if (file.exist())
try
{
XElement document = file.getXmlContent();
TrackerInterface tracker = ((Main)this.MdiParent).globalConfig.getDriver(document.Element("model").Value,
document.Element("version").Value);
string checksum = document.Element("checksum").Value;
string date = document.Element("date").Value;
foreach (XElement family in document.Elements("family"))
foreach (XElement param in family.Elements("param"))
if (param.Attribute("id").Value.Equals("DEVICE_ID"))
{
string result = param.Value + date + "www.fr";
MD5 md5 = MD5.Create();
byte[] inputresult = System.Text.Encoding.ASCII.GetBytes(result);
byte[] hash = md5.ComputeHash(inputresult);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString());
}
if (checksum == sb.ToString())
{
Perspective filePerspective = new Perspective();
filePerspective.tracker = tracker;
filePerspective.File = file;
return filePerspective;
}
else
{
throw new Exception(Lang.NotCompatibleFile);
}
}
}
catch (Exception)
{
MessageBox.Show(Lang.NotCompatibleFile);
}
return null; |
Partager