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 }); } }
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)); }
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); }
public string Encrypt(NodeRegMessage node) { Contract.Ensures(!string.IsNullOrEmpty(Contract.Result <string>())); return(string.Empty); }