2011-11-29 161 views
0

我需要一个可以解密AES数据的JavaScript库。我发现一些库,如:使用初始化矢量的Javascript AES

http://www.movable-type.co.uk/scripts/aes.html

http://point-at-infinity.org/jsaes/

但是他们都不支持IV密钥(初始化向量)。

我需要这样做的原因是因为一些C#.NET服务器向我发送使用AES加密的数据,并且它还使用了IV密钥。

现在我需要以Javascript以某种方式解密该消息,但找不到任何支持初始化向量的库。那么有没有人知道一个JavaScript库也支持这个解密?

回答

1

IV并不严格是AES的一项功能。这取决于操作模式。第一个链接只实现CTR模式,第二个链接不使用任何模式(它只是加密一个块)。 你应该检查你的服务器使用了哪种模式。 如果是CBC,您应该可以通过AES实现实现它,而不会出现任何问题。

现在为了好玩的问题:为什么你有一台服务器将数据加密发送给JS?它不会增加任何安全性:JS总是在不安全的环境中执行(有关更多信息,请参阅http://www.matasano.com/articles/javascript-cryptography/)。

+0

虽然它不是100%安全的,但确实增加了一些安全性。当您使用packetniffer进行嗅探时,数据包不可读。所以我认为它最好有一些安全性,然后根本没有。 – w00

+1

如果有人有足够的动机嗅探你的数据包,他将能够获得加密数据包和密钥。如果密钥是从用户输入生成的,他也可以在页面中注入某些内容以获取密钥(或直接获取解密的内容)。打破你的JS加密可能比没有安全性,但不是太多。如果您想保护您的内容,请使用SSL。 –

+0

他可以使用node.js在他的服务器上运行Javacsript – Mike