什么加密算法最适合Python和Php之间的数据传输?

时间:2010-02-22 10:21:12

标签: php python algorithm security encryption

我正在编写基于客户端/服务器的程序,服务器端是Php,客户端是Python,我需要确保传输数据是安全的。

所以,我的问题是

哪种加密算法最适合Python和Php之间的数据传输?

  • 我无法使用 Https
  • 需要使用Python和Php上的键解密/加密
  • 我不需要共享公钥,可以在Python和Php中设置密钥手动
  • 由于我自己不知道如何实现算法,因此两种语言的示例都会很棒。
  • 我的数据并不像银行网站那样严重,但只是想通过嗅探加密以保证线路安全

我试过检查这个问题,但我找不到合适的答案

Compatible encryption between C# and PHP, ColdFusion, Ruby, Python

提前致谢。

3 个答案:

答案 0 :(得分:4)

请勿尝试自行发明加密方案。这很难做到正确(即使是专业人士也不能定期正确地做到这一点)。 SSL安全协议套件体现了数十年的研究和实施经验,您将无法重新发明。

为了保护HTTP上的私有数据,唯一正确的答案是SSL。其他任何事情都让你自己受到损害。

答案 1 :(得分:1)

答案通常是“取决于”。如果您正在寻找的是对足够数量的数据进行对称加密,那么您可能需要像AES这样的东西。然而,有许多方法可以使用最终可能变得不安全的加密,这就是为什么使用https是一个好主意,因为它更高一级,更难以犯错误。我不是安全研究员,但这只是我在安全方面给出的一般性建议。

无论如何,有一个python library,您显然可以使用mcrypt来处理PHP本身的加密/解密。

答案 2 :(得分:1)

Greg Hewgill是正确的并且有最好的建议。我试图发明自己的令牌系统,虽然有些成功,但它不是它的本质。所以我相信SSL是最好的方式。

PHP内置了openssl,您可以轻松使用它,这就是我目前正在使用的内容。如果您打电话给您的托管服务提供商并要求他们启用不应该困难的openssl,那就是它已经没有激活。

对于Python,我不是100%关于可用的内容,而只是使用公钥进行加密就足够了,因为您的服务器将使用私钥解密此数据。

可以使用命令行生成公钥和私钥。这是一个链接:

http://travistidwell.com/blog/2013/02/15/a-better-library-for-javascript-asymmetrical-rsa-encryption/

他确实使用javascript库进行客户端加密,但是应该有Python的选项。