gpt4 book ai didi

c# - C# 中的 CurveZMQ 示例以及为什么在使用 CurveZMQ 时不能将 SetOption() 用于 CURVE_SECRETKEY?

转载 作者:太空宇宙 更新时间:2023-11-03 15:17:48 26 4
gpt4 key购买 nike

我想使用 CurveZMQ 来实现客户端和服务器之间通信的安全身份验证和 secret 性。但我在 C# 中找不到任何示例。我尝试一步一步地遵循 API 文档。我在设置 CURVE_PUBLICKEY、CURVE_SECRETKEY 和 CURVE_SERVERKEY 时遇到了问题。

这是我的代码。套接字“server.CurveSecretKey”引发了“ZeroMQ.ZException”类型的异常:在 ZeroMQ.ZSocket.GetOption(ZSocketOption 选项,IntPtr optionValue,Int32 和 optionLength)\r\n/p>

public static byte[] StringToByteArray(string hex)
{
return Enumerable.Range(0, hex.Length)
.Where(x => x % 2 == 0)
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
.ToArray();
}

var context = new ZContext();
server = new ZSocket(context, ZSocketType.ROUTER);
server.SetOption(ZSocketOption.CURVE_SERVER, 1);
string curveSKey = "8E0BDD697628B91D8F245587EE95C5B04D48963F79259877B49CD9063AEAD3B7";
var skey = StringToByteArray(curveSKey);
server.SetOption(ZSocketOption.CURVE_SECRETKEY, skey);

你能给我一些关于 CurveZMQ 的 C# 示例吗?

最佳答案

只需将其设置为字符串,而不是字节数组。

var skey = Encoding.ASCII.GetString(StringToByteArray(curveSKey));
server.SetOption(ZSocketOption.CURVE_SECRETKEY, skey);

关于c# - C# 中的 CurveZMQ 示例以及为什么在使用 CurveZMQ 时不能将 SetOption() 用于 CURVE_SECRETKEY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38365226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com