加密UDP数据包

时间:2017-05-02 18:54:51

标签: c# c sockets encryption udp

对于项目,我使用UDP数据包发送和接收数据。 但现在我的主管要我加密数据包,以便在使用Wireshark捕获它们时不能使用它们。我想知道在C或C#中使用内置函数是否有一种简单的方法可以做到这一点。否则,我该如何制作自己的加密功能?

下面的代码是我如何在C#中发送数据并在C程序中接收它。

        var client = new UdpClient();
        IPEndPoint ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 21); // endpoint where server is listening
        client.Connect(ep);

        string text = textBox1.Text;
        char[] arr= text.ToCharArray(0,text.Length);
        // send data
        var arr2 = new byte[100];
        arr2[0] = 0x32;
        arr2[1] = 0x40;
        arr2[2] = (byte)(text.Length);
        if(text.Length==0)
        {
            arr2[2] = 0x00;
            arr2[3] = 0x00;
            arr2[4] = 0x01;
            client.Send(arr2, text.Length + 4);
        }
        else
        {
            for (int i = 3; i < text.Length + 3; i++)
            {
                arr2[i] = (byte)arr[i - 3];
            }
            client.Send(arr2, text.Length + 3);
        }
    }

Thanx很多

1 个答案:

答案 0 :(得分:0)

查看https://en.wikipedia.org/wiki/Comparison_of_cryptography_libraries您可以使用的加密库。

查看Tinc&amp; OpenVPN用于实现UDP数据包加密的方法。