javascript - JavaScript 有非对称加密选项吗?

标签 javascript security encryption encryption-asymmetric public-key-encryption

我必须通过 JavaScript AJAX 调用、通过未加密的 channel (HTTP,而不是 HTTPS)传输一些敏感信息。

我想对数据进行加密,但 JavaScript 端的加密意味着我会公开 key ,这使得对称加密只是一种隐蔽性安全练习。

JavaScript有非对称加密吗?这样,我就可以对服务器解密 key 保密。 (我不担心Server > JavaScript消息的安全性,只担心某个JavaScript > Server消息的安全性)

最佳答案

您需要加密的原因可能是为了防止中间人攻击。在某些情况下,攻击者能够嗅探流量而无法更改它。该解决方案可以防范这种威胁,但对于能够修改流量的中间人来说,它根本无法提供任何保护。

如果攻击者可以更改流量,那么他还可以更改进行加密的脚本。最简单的攻击是从脚本中完全删除加密。如果你没有 https,并且中间人是可能的(几乎在所有情况下都是这种情况),那么你对最后呈现的 html 或 javascript 没有任何控制权用户。攻击者可能会完全重写您的 html 代码和 javascript、禁用加密、在表单中创建新的表单字段等。Https 是网络 channel 中安全通信的先决条件。

关于javascript - JavaScript 有非对称加密选项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6116883/

相关文章:

javascript - 每次 Gulpfile 更改后如何重新启动 Gulp?

javascript - 如何在 document.ready 的最后调用函数

php - 找到黑客留下的代码,但不明白它的作用

security - Docker 环境变量安全

php - 存储在mysql中编码的信息

encryption - RSA 指数大小

javascript - Bootstrap 验证器 - 下拉列表

javascript - 访问 CompositeView 内的 Marionette 的 ItemView 元素

php - 在基于 ZF 的应用程序中创建管理部分的最佳实践

php - 分发时防止删除代码?