Skip to main content
 首页 » 编程设计

php之在 PHP 和 Python 之间使用什么好散列

2025年05月04日19sxdcgaq8080

我有从头开始的奢侈,所以我想知道在 PHP 和 Python 之间使用什么哈希值比较好。

我只需要能够从每种语言的相同文本生成相同的散列。

据我了解,PHP 的 md5() 不会很好地工作。

请您参考如下方法:

md5() 总是表现得很好 - 它总是做同样的事情,因为它是一种标准的哈希格式。

唯一的绊脚石是某些语言的 MD5 散列的默认返回格式是包含十六进制字符的 32 字节 ascii 字符串,而某些语言使用包含散列的文字二进制表示形式的 16 字节字符串。

PHP 的 md5()默认情况下返回 32 字节的字符串,但如果将 true 传递给第二个参数,它将返回 16 字节的形式。因此,只要您知道您的其他语言使用哪个版本(在您的例子中是 Python),您只需要确保从 PHP 获得正确的格式。

无论如何,您最好使用 32 字节的格式,具体取决于您的应用程序的通信方式。如果您使用基于纯文本(例如 HTTP)的通信协议(protocol),通常使用纯文本版本的任何内容都更安全 - 在这种情况下,二进制文件较小,但在传输过程中容易被编写不当的服务器损坏/客户。

二进制与 ascii 问题几乎适用于您能想到的任何哈希算法。