Tôi muốn sử dụng CurveZMQ để triển khai xác thực an toàn và bí mật để liên lạc giữa máy khách và máy chủ. Nhưng tôi không thể tìm thấy bất kỳ ví dụ nào trong C#. Tôi cố gắng làm theo từng bước tài liệu API. Tôi gặp sự cố khi thiết lập CURVE_PUBLICKEY, CURVE_SECRETKEY và CURVE_SERVERKEY.
Đây là mã của tôi. Ổ cắm 'server.CurveSecretKey' đã đưa ra một ngoại lệ thuộc loại 'ZeroMQ.ZException': tại ZeroMQ.ZSocket.GetOption(ZSocketOption option, IntPtr optionValue, Int32 và optionLength)\r\n/p>
byte tĩnh công khai [] StringToByteArray(chuỗi hex)
{
return Enumerable.Range(0, hex.Length)
.Ở đâu(x => x % 2 == 0)
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
.ToArray();
}
bối cảnh var = ZContext mới();
máy chủ = ZSocket mới (bối cảnh, ZSocketType.ROUTER);
server.SetOption(ZSocketOption.CURVE_SERVER, 1);
chuỗi CurveSKey = "8E0BDD697628B91D8F245587EE95C5B04D48963F79259877B49CD9063AEAD3B7";
var skey = StringToByteArray(curveSKey);
server.SetOption(ZSocketOption.CURVE_SECRETKEY, skey);
Bạn có thể cho tôi một số ví dụ C# của CurveZMQ không?
Chỉ cần đặt nó thành một chuỗi chứ không phải một mảng byte.
var skey = Encoding.ASCII.GetString(StringToByteArray(curveSKey));
server.SetOption(ZSocketOption.CURVE_SECRETKEY, skey);
Giới thiệu về c# - Ví dụ CurveZMQ trong C# và tại sao SetOption() không thể sử dụng với CURVE_SECRETKEY khi sử dụng CurveZMQ? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/38365226/
Tôi là một lập trình viên xuất sắc, rất giỏi!