Javascript是加密的合适平台吗?或者,是吗?

Javascript是加密的合适平台吗?或者,是吗?,javascript,security,language-agnostic,cryptography,Javascript,Security,Language Agnostic,Cryptography,很久以前,我注意到维基百科链接到一系列不同的散列函数。也发现了。甚至Mozilla也在Firefox中实现了一个新的应用程序 那么,Javascript是加密的合适平台吗?或者,可能是吗? 或者,我想。。发布前对数据进行哈希处理有什么目的或好处吗?我不明白为什么不能使用javascript实现加密函数 然而,加密是一个资源密集型的过程 与编译后的代码相比,Javascript是慢的 您可以使用JavaScript加密数据;但是我不确定它的好处。因为如果您使用bas64,您需要将加密密钥发送给客户

很久以前,我注意到维基百科链接到一系列不同的散列函数。也发现了。甚至Mozilla也在Firefox中实现了一个新的应用程序

那么,Javascript是加密的合适平台吗?或者,可能是吗?

或者,我想。。发布前对数据进行哈希处理有什么目的或好处吗?

我不明白为什么不能使用javascript实现加密函数

然而,加密是一个资源密集型的过程


与编译后的代码相比,Javascript是慢的

您可以使用JavaScript加密数据;但是我不确定它的好处。因为如果您使用bas64,您需要将加密密钥发送给客户端,如果有人能够截获加密信息,他/她可能也能够截获加密密钥


您永远不应该将其用于替换SSL证书

Javascript中有哈希函数的用途,例如验证CAPTCHA客户端(通过将会话中的哈希与输入中计算的哈希进行比较)。显然,使用是有限的,因为它几乎只运行客户端(并且您不能信任客户端输入),但是潜在的可能性是存在的。

您永远不能使用javascript作为传输安全数据的安全平台


但是,可以在客户端制作md5或其他类型的加密,这为您提供了一种合理安全的验证方法,您可以在服务器端测试!)

我至少可以看到一种用法:如果您发送的是客户机加密的数据,然后根据用户在本地输入的密钥/密码在JavaScript中对其进行解密。这是以共享密钥或已知密码为前提的,您最初用于在服务器上加密数据。此外,恶意和/或模糊JavaScript经常使用这些函数。

答案取决于您想做什么

如果您想在客户端、离线、持久化web应用程序上使用加密,那么可以。例如,您是否希望使用HTML5规范“globalStorage()”加密存储在嵌入式数据库中的所有数据。然后使用javascript加密,因为很可能您没有连接来处理服务器端的所有加密


如果不使用久经考验的方法

这些博客文章描述了JavaScript中加密技术的重要用途:

为了安全地识别您自己:

通过网站向本地主机应用程序和嵌入式服务器提供安全接口:


是的,这是真的,我想不出安全地将钥匙传递给客户端的方法。我已经编辑了我的评论。就像你说的,JS不应该用于端到端加密;然而,有一些服务通过在客户端进行加密/解密并仅在服务器上存储加密信息来提供安全电子邮件。公钥加密实际上是针对您无法信任密钥分发(或密钥用户)的这种情况而设计的。我真的想不出有什么应用程序可以像你说的那样通过SSL实现这一点。现在不行了,多亏了V8、SquirreFish和TraceMonkey。只有IE落后了。是的,只有80%的市场份额落后了……与静态编译代码相比,甚至V8都很慢。能否信任客户端输入的问题与Javascript是否是一个合适的加密平台的问题是完全正交的。这表明它不是。