我有api
我希望允许用户发送id
,但我不希望ID通过网络可见。我决定然后为用户生成一个secret
,它将用作盐来散列它们发送的id
。然后他们会将id
和secret
连接到我的api
。
服务器使用node.js
编写,客户端将使用c#
编写,因此我需要一种方法,以便两种语言都可以编码/解码,如果他们知道secret
。
因此...
C#
会对id
Node.js
会解码id
我以前从未创建过这样的盐,所以我可以使用哪种方法来做到这一点?我想最终我将使用更多C#
来编码id
,因此其他语言的方法也很棒!
答案 0 :(得分:1)
如果您想隐藏窥探信息,请使用TLS(如评论中所示)。 同样来自评论,看起来你想要的不是隐藏ID而是一种签名消息的方式,这样你就可以确保你收到的消息是来自你的应用程序的合法消息。在这种情况下,您收到的每条消息都会带有一个哈希值,该哈希值是根据消息和密钥计算出来的。然后,您的服务器将尝试从接收的消息和存储的密钥计算相同的散列,然后将其与接收的散列进行比较。盐有不同的用途。 (这是作为评论但不适合)
请参阅: