2013-03-11 50 views
0

我正在构建我的网站,在该网站中我遇到了实施加密的问题。我正在使用java中的RESTful Web服务开发它。在我的网站上加密的设计问题

我发现从JavaScript加密的GibberishAES API。现在加密的消息转到Web服务,但我不知道如何在(Java)Web服务中解密它。我知道GibberishAES在java中不可用,但是有什么迂回的方法吗?

或者,有没有Java和Javascript都支持的加密API?

我也有这个网站的(对称)密钥分发的问题。它将拥有100个客户端(机器,在公共网络中),我不知道如何将特定机器的唯一密钥传递给它。

请帮我指点一下。

+1

您是否有一个特别的原因,而不仅仅是使用SSL? – Perception 2013-03-11 21:09:25

+0

GibberishAES只是一个AES兼容库,因此您可以使用任何可处理AES的Java库。为什么你对加密“搞砸”? – Andreas 2013-03-11 21:09:33

+0

@Perception我不太确定,但我认为我们需要证书来使用SSL。纠正我,如果我错了。 – 2013-03-11 21:15:45

回答

0

GibberishAES实施AES加密。 AES是一个对称密码,这意味着双方必须知道共享密钥。分配密钥的问题不是微不足道的,并且存在用于这样做的众所周知的算法。

正如在一些评论中提到的那样,SSL已经解决了这个问题,因为它协商生成一个分布式密钥,以后用于加密。如果由于任何原因您无法使用SSL,则应采用一些机制来安全生成或传输密钥。例如,您可以在客户端生成一个ephimeral RSA密钥对,将公钥发送到服务器,并让服务器以包装形式返回秘密(AES)密钥。