public SettingsResponse GetClientSettings(Client client, Grit.Tree.Node tree) { var clientNodes = GetNodes(client.Nodes); var allNodes = GetNodes(); SettingsResponse resp = new SettingsResponse(client.Name); var path = new List <Grit.Tree.Node>(5); RijndaelManager rsa = new RijndaelManager(KEY, IV); foreach (var node in clientNodes) { if (node.Entries == null || !node.Entries.Any()) { continue; } path.Clear(); tree.FindByData(node.NodeId, path); string strPath = string.Join("/", path.Select(n => allNodes.FirstOrDefault(x => x.NodeId == n.Data)).Select(n => n.Name).Reverse()) + "/"; resp.Entries.AddRange(node.Entries.Select(n => new SettingsResponse.Entry { Path = strPath + n.Key, Value = rsa.Decrypt(n.Value) })); } return(resp); }
public Node GetNode(int nodeId) { var node = NodeRepository.GetNode(nodeId); RijndaelManager rsa = new RijndaelManager(KEY, IV); node.Entries.ForEach(x => { x.Value = rsa.Decrypt(x.Value); }); return(node); }
public bool SaveNode(Node node) { RijndaelManager rsa = new RijndaelManager(KEY, IV); node.Entries.ForEach(x => { x.NodeId = node.NodeId; x.Value = rsa.Encrypt(x.Value); }); return(NodeRepository.SaveNode(node)); }
private static byte[] EncryptMessage(string username, string password, Command command, object message) { password = MD5Helper.CalculateMD5Hash(password); var bytes = MessagePackSerializer.Serialize(message); return(MessagePackSerializer.Serialize(new Message { User = username, Command = command, Content = RijndaelManager.Encrypt(bytes, password) })); }
public ActionResult Index() { string key, iv; RijndaelManager.GenerateKeyAndIV(out key, out iv); string publicKey, privateKey; RSAManager.GenerateKeyAndIV(out publicKey, out privateKey); return(View(new SecurityKeyVM { Key = key, IV = iv, PublicKey = publicKey, PrivateKey = privateKey })); }