加密php中的数据和javascript中的解密

时间:2016-09-20 10:31:01

标签: javascript php node.js rsa public-key-encryption

我正在使用2台服务器。

我想创建一对密钥并将私钥存储在本地存储中,并将公钥发送到PHP服务器。

基本上使用PHP中的公钥加密数据并使用JavaScript解密数据

任何建议......我该怎么做。

我已经尝试过很少的东西,但结果不像(公钥)[http://phpseclib.sourceforge.net/rsa/examples.html#convert]和(私钥)[https://github.com/travist/jsencrypt]

感谢。

更新

AIM:目的是安全地从PHP服务器向客户端发送数据。

更新编辑:

将私钥保存在php代码中并在调用时将公钥提供给客户端(javascript服务器node.js)是多么安全...就像从node.js服务器向php服务器发送数据....安全没有https ??

或者如果我们使用https,那么我们不需要使用这个方法...... ??

由于

1 个答案:

答案 0 :(得分:2)

如果您的目标是安全地从php服务器向客户端发送数据,请考虑使用HTTPS。

你要做的事情很难做到。如果您不使用HTTPS,那么它毫无意义,因为您的访问者无法知道他们正在与谁通话以及密钥生成和解密代码是否值得信赖。如果您正在使用HTTPS,那么您已经安全地使用私人和公共密钥从php服务器向客户端发送数据,并且再次加密它将无法执行任何操作。

如果您试图保护该秘密不受浏览器中运行的其他JavaScript代码的影响,它仍然无法执行任何操作,因为在浏览器中使用私钥,加密算法和加密消息并不比使用明​​文更安全。

此外,在密钥生成,密钥分发,加密算法,处理加密消息等方面存在很多细微错误的空间。即使你能够正确地完成所有这些,你最多得到的就是你已经拥有HTTPS。

并且不要认为这很容易 - 具有良好意图的OpenSSL和经验丰富的开发人员可能是the number of CVE entries的世界纪录保持者,因为这些东西很难做到。

请务必阅读这篇经典文章:

还值得一读: