Exemplo n.º 1
0
 public static bool DeAuthorize(AuthData data)
 {
     Keys keys = GetKeys();
     if (keys != null && keys.Public.Equals(data.PublicKey))
     {
         var privateKey = keys.Private;
         var hashCheck = General.Sha1Hash(data.Data + privateKey + data.PublicKey);
         if (hashCheck.Equals(data.Hash))
         {
             var computersJsonFile = GetFile("~/App_Data/", "computers.json");
             var computers = new List<ComputerData>();
             try
             {
                 computers = JsonConvert.DeserializeObject<List<ComputerData>>(GetFileContents(computersJsonFile));
             }
             catch { }
             var computerData = new ComputerData()
             {
                 Name = data.HostName,
                 IpExternal = data.IpExternal,
                 IpInternal = data.IpInternal,
                 LastActive = DateTime.Now,
                 FileUploaded = null,
                 BytesUploaded = 0,
                 Hash = null
             };
             computerData.Hash = Transmitter.GetComputerHash(computerData);
             var computer = computers.Find(x => x.Hash == computerData.Hash);
             if (computer != null)
             {
                 computers.RemoveAt(computers.IndexOf(computer));
                 var computersJson = JsonConvert.SerializeObject(computers);
                 System.Threading.Thread.Sleep(250);
                 File.WriteAllText(computersJsonFile, computersJson);
             }
             return true;
         }
     }
     return false;
 }