【发布时间】:2012-12-31 13:21:54
【问题描述】:
我正在开发一个 Chrome 扩展程序,它会将数据发布到远程服务器。我希望在发送数据之前对其进行加密。我的服务器没有 HTTPS,所以我必须通过纯 HTTP 发送它。
我目前在 Javascript 的扩展中使用 RSA 4096 位公钥加密,并且 SHA1 对数据进行哈希处理,并通过 Ajax 发布请求发送哈希和加密数据。
这是通过 HTTP 发送的可接受的加密吗?
【问题讨论】:
-
为了清楚起见,你对数据进行哈希处理,然后对数据+哈希进行加密,对吗?
-
这个问题可能是 Stack Overflow 的话题,但一般问题(RSA 密钥应该有多强?)肯定会成为 crypto.stackexchange.com 的话题
-
另见stackoverflow.com/questions/589834/…上的第一个答案
-
@Boundless 我只是将 sha1 哈希添加到加密数据的开头,我这样做的原因是我的服务器可以验证加密数据在传输过程中没有损坏。您是否建议对未加密的数据进行哈希处理并在加密之前将其添加到其中?
-
您绝对应该像@Boundless 建议的那样加密消息和哈希。否则哈希是毫无用处的,因为攻击者只需要重新哈希他想要发送的数据。
标签: javascript google-chrome google-chrome-extension rsa public-key-encryption