public NodeRegResponse RegistrationAction(RegistrationMessage message)
        {
            var nodeMessage = new NodeRegMessage {
                Message = message
            };

            NodeData worker;
            var      neighbors = Distributor.FormateNodeList(3, out worker);

            nodeMessage.NeighBours = neighbors;

            var serializedMessage = JsonConvert.SerializeObject(nodeMessage);
            var content           = new StringContent(serializedMessage, Encoding.UTF8, "application/json");

            try
            {
                var response         = worker.Sender.PostAsync(new Uri(new Uri(worker.IpAddress), "api/Register"), content).Result.Content.ReadAsStringAsync();
                var responseFromNode = JsonConvert.DeserializeObject <NodeRegResponse>(response.Result);
                return(responseFromNode);
            }
            catch (AggregateException e)
            {
                return(new NodeRegResponse {
                    Status = false, Message = "Eroare de connectare la server LB:" + e.InnerException.ToString(), ProcessedTime = DateTime.Now
                });
            }
        }
Пример #2
0
        public string Encrypt(NodeRegMessage node)
        {
            string idbdtext = "";

            for (int i = 0; i <= node.NeighBours.Count; i++)
            {
                idbdtext = node.NeighBours[i].NodeId;
            }
            var idbdEncrypt = Encoding.UTF8.GetBytes(idbdtext);
            var keyBytes    = Encoding.UTF8.GetBytes(node.NeighBours.ToString());

            keyBytes = SHA256.Create().ComputeHash(keyBytes);

            var idbdEncrypted = Cipher.Encrypt(idbdEncrypt, keyBytes);

            return(Convert.ToBase64String(idbdEncrypted));
        }
Пример #3
0
        public NodeRegResponse Decrypt(string encrypt)
        {
            NodeRegMessage  node1       = new NodeRegMessage();
            NodeRegResponse node        = new NodeRegResponse();
            var             idbdDecrypt = Convert.FromBase64String(encrypt);
            var             keyBytes    = Encoding.UTF8.GetBytes(pidvn);

            keyBytes = SHA256.Create().ComputeHash(keyBytes);

            var    IDBDDecrypted = Cipher.Decrypt(idbdDecrypt, keyBytes);
            string decrypted     = Encoding.UTF8.GetString(IDBDDecrypted);
            var    result        = decrypted.Split("_");

            for (int i = 0; i <= result.Length; i++)
            {
                node1.NeighBours[i].NodeId = result[i];
            }

            return(node);
        }
Пример #4
0
 public string Encrypt(NodeRegMessage node)
 {
     Contract.Ensures(!string.IsNullOrEmpty(Contract.Result <string>()));
     return(string.Empty);
 }