2012-09-24 107 views
1

我需要一种方法来加密和解密从PHP到C++,反之亦然。加密和解密从PHP到C++

例如,我需要将加密的ID从PHP Web服务发送到C++应用程序,然后使用C++进行解密,反之亦然。

另一个问题:有什么方法可以保护来自和去往web服务的数据?

+5

[你有什么尝试?](http://whathaveyoutried.com) – jeremy

+1

在两端使用标准的加密算法,你应该没问题。 –

+1

你有没有试过在这个问题上抛出SSL? – CodesInChaos

回答

0

答案取决于你需要捍卫什么类型的威胁以及你的资源是什么。 正如人们可以从你的问题中所暗示的那样,你在密码学领域不是很了解你应该考虑使用众所周知的解决方案,而不是试图自己发明和/或实现一些密码解决方案。 构建水密密码系统有许多微妙之处,建议在没有完全事先研究的情况下构建一个密码系统是不可取的。

如果您希望防止有人在网络上传输时窃听或更改数据,请考虑使用SSL/TLS来保护整个网络连接。 在C端,您可以使用任何允许HTTPS连接的HTTP库。我可能会推荐你libCURL。如果您已经在使用像Qt这样的框架,那么可能会有API来执行该HTTPS请求。 在PHP方面,您需要设置您的服务器以通过https提供此脚本(或整个服务)。请参阅您的服务器文档以了解它是如何完成的。

对于服务器端,您需要证书。如果您只有自己的软件来连接到该https服务器,那么使用自己的自签名CA的证书即可。在Windows和POSIX系统上创建一个会有点不同,但Internet上有大量的HowTos。请确保在您的C代码中发出请求时,将此CA证书设置为唯一可信的证书。如果您还希望其他软件(如通用浏览器)连接到您的https服务,则必须从任何认可的CA购买SSL证书。

如果您希望在双方都使用某种对称密码,那么会对密钥交换,已知明文攻击,消息身份验证等问题提出严重问题。我可以在那里为您提供建议,但对于您即将建立的系统的性质和局限性的知识将是至关重要的。