我正在编写基于客户端/服务器的程序,服务器端是Php,客户端是Python,我需要确保传输数据是安全的。
所以,我的问题是
哪种加密算法最适合Python和Php之间的数据传输?
我试过检查这个问题,但我找不到合适的答案
Compatible encryption between C# and PHP, ColdFusion, Ruby, Python
提前致谢。
答案 0 :(得分:4)
请勿尝试自行发明加密方案。这很难做到正确(即使是专业人士也不能定期正确地做到这一点)。 SSL安全协议套件体现了数十年的研究和实施经验,您将无法重新发明。
为了保护HTTP上的私有数据,唯一正确的答案是SSL。其他任何事情都让你自己受到损害。
答案 1 :(得分:1)
答案通常是“取决于”。如果您正在寻找的是对足够数量的数据进行对称加密,那么您可能需要像AES这样的东西。然而,有许多方法可以使用最终可能变得不安全的加密,这就是为什么使用https是一个好主意,因为它更高一级,更难以犯错误。我不是安全研究员,但这只是我在安全方面给出的一般性建议。
无论如何,有一个python library,您显然可以使用mcrypt来处理PHP本身的加密/解密。
答案 2 :(得分:1)
Greg Hewgill是正确的并且有最好的建议。我试图发明自己的令牌系统,虽然有些成功,但它不是它的本质。所以我相信SSL是最好的方式。
PHP内置了openssl,您可以轻松使用它,这就是我目前正在使用的内容。如果您打电话给您的托管服务提供商并要求他们启用不应该困难的openssl,那就是它已经没有激活。
对于Python,我不是100%关于可用的内容,而只是使用公钥进行加密就足够了,因为您的服务器将使用私钥解密此数据。
可以使用命令行生成公钥和私钥。这是一个链接:
他确实使用javascript库进行客户端加密,但是应该有Python的选项。