足够安全,使用javascript加密和解密

时间:2010-12-24 06:09:59

标签: javascript save encryption

这是javascript库: jsencryption.js

我想用它来:

  1. 加密我站点中用户的数据,然后发送到数据库服务器。
  2. 将加密数据从数据库发送到浏览器客户端,用户放置key
  3. 然后显示原始数据。

    3。数据库不保存密钥,因此更安全。

    我想知道方式是否安全,http://www.passpack.com/en/home/

    怎么样?

    以及passpack.com如何保存密码。

    谢谢

2 个答案:

答案 0 :(得分:2)

您链接到claims the following

的jsencryption.js库
  • 使用的加密是256位AES,美国政府使用的标准
  • 与常规密码保护不同,所有内容都是使用JavaScript在浏览器中本地完成的,因此您的未加密信息永远不会出现在互联网上,甚至不会出现在服务器上!
  • 只要您保密密钥,加密文本就是安全的。不要丢失钥匙。如果你这样做,没有人可以帮助你!

所以,是的,如果密码足够强,这看起来非常安全(除非有人对用户的浏览器或计算机感到困惑,想想键盘记录程序或恶意firefox插件或网站本身破坏脚本)。

答案 1 :(得分:2)

似乎有几种JavaScript AES-256加密实现,包括:

在使用任何这些之前,您应该使用AES测试向量进行测试。 hanewin.net的实施[声称这样做] [1]。

[1]: - http://www.hanewin.net/encrypt/aes/aes.htm

但是,我对您的基础设计有一些疑问。你的威胁模型是什么?很多人都在考虑在浏览器中完成加密/解密。但这并不一定更安全,好像有人闯入服务器他们可以诱骗陷阱浏览器的JavaScript。当然,这可以保护您免受某人危害您的数据库服务器和下载表的影响,但服务器端加密也会这样做。服务器端加密的一大优势是,您可以使用OpenSSL等可信模块,而不必担心JavaScript实现的质量。