2015-10-19 70 views
0

我是python和websocket程序员中的新成员。通过Autobahn发送RSA密钥

我想通过websocket发送使用RSA密钥(使用Python)加密的数据到云中的服务器(使用nodeJs)。为了解密这些数据,我需要这个密钥,对吧? 我如何将RSA发送到服务器并使用该密钥进行解密?

Thankyou

+1

你不会在任何地方一般发私(解密)密钥。相反,您可以将公钥(加密)密钥嵌入到客户端中。所以密钥对应该在服务器上生成。 –

+0

你是什么意思“将公钥嵌入客户端”?你能举个例子吗? –

+0

我的意思是您应该生成密钥对,以某种方式对公钥进行编码并将其放入客户端源代码中。然后你可以加载客户端并为服务器加密一些东西。 –

回答

0

您还没有提供关于如何加密数据的信息。但是你不应该通过网络发送私钥。决不。这样做与锁定房屋一样安全,但将钥匙留在钥匙孔中。如果你已经做过一次,就把钥匙扔掉,然后生成一个新钥匙。

RSA的优势来自任何持有公钥的人都可以加密数据,但只有持有私钥的人才能解密。把它想象成一个老视频商店的回归盒:任何客户都可以通过这个洞将视频放入其中,但只有店员可以从中获取视频。

你想要做的是:

  1. 在服务器上生成的密钥

  2. 客户端调用服务器和抢公共关键

  3. 客户端加密使用数据检索public key

  4. 客户端发送加密数据到服务器。

  5. 服务器使用解密的私人关键

+1

我通过将公钥添加到客户端的代码中来结合1和2,以便客户端不必另外请求公钥。 –