很久以前,我注意到 Wikipedia 链接到不同哈希函数的Javascript 实现。还发现了Clipperz Crypto。甚至 Mozilla 在 Firefox 中实现了一个加密对象。
那么,Javascript 是一个合适的密码学平台吗?或者,可以吗?
或者,我想.. 在 POST 之前散列数据有什么目的或好处吗?
很久以前,我注意到 Wikipedia 链接到不同哈希函数的Javascript 实现。还发现了Clipperz Crypto。甚至 Mozilla 在 Firefox 中实现了一个加密对象。
那么,Javascript 是一个合适的密码学平台吗?或者,可以吗?
或者,我想.. 在 POST 之前散列数据有什么目的或好处吗?
Javascript 中有一些散列函数的用途,例如验证验证码客户端(通过将会话中的散列与输入中的计算散列进行比较)。显然,用途是有限的,因为它几乎只在客户端运行(并且您不能信任客户端输入),但潜力是存在的。
您可以使用 JavaScript 加密数据;但是我不确定这些好处。因为如果您使用的是 bas64,则需要将加密密钥发送给客户端,如果有人可以拦截加密信息,他/她可能也可以拦截加密密钥。
您永远不应该使用它来替换 SSL 证书。
您永远无法将 javascript 用作传输安全数据的安全平台...
但是可以在客户端制作 md5 或其他类型的加密,这为您提供了一种相当安全的验证方式,您可以在服务器端进行测试!-)
这些博客文章描述了 JavaScript 中密码学的重要用途:
为了安全地识别自己:
http://digitalbazaar.com/2010/08/07/webid/
通过网站为带有嵌入式服务器的本地主机应用程序提供安全接口:
我不明白为什么不能使用 javascript 实现加密功能。
然而..密码学是一个资源密集型的过程。
与编译代码相比,Javascript 是 slooooooow。
我可以看到至少一种用途:如果您要发送客户端加密数据,然后根据用户在本地输入的密钥/密码在 JavaScript 中对其进行解密。这以您最初在服务器上加密数据时使用的共享密钥或已知密码为前提。此外,这些函数经常被恶意和/或混淆的 JavaScript 使用。
答案取决于你想做什么。
如果您想在客户端、离线、持久的 Web 应用程序上使用密码术,那么可以。例如,您是否想使用 HTML 5 规范“globalStorage()”加密存储在嵌入式数据库中的所有数据。然后使用 javascript 加密,因为您可能没有连接来处理服务器端的所有加密。
如果不使用久经考验的方法