关于php:Python md5与PHP7 md5不同

Python md5 different than PHP7 md5

本问题已经有最佳答案,请猛点这里访问。

我需要从PHP用Python编写一个MD5散列,并且一直在尝试让日期给出正确的MD5散列。两种语言打印的日期完全相同,但如果对该日期进行哈希处理,则哈希值不同。

**MD5哈希需要与原始PHP哈希匹配(需要对python而不是php进行更改)

Md5.Py

1
2
3
4
5
6
7
8
9
10
11
import hashlib, datetime

timestamp = datetime.datetime.now() - datetime.timedelta(hours=6)
timestamp1 = timestamp.strftime("%Y-%m-%d %H:%M:%S")

print(timestamp1)


md5_digest = hashlib.md5(timestamp1.encode()).hexdigest()

print (md5_digest)

md5.php语言

1
2
3
4
5
6
7
8
9
10
11
12
<?php

$strDatetime = date("Y-m-d H:i:s");

function get_md5_hash($strDatetime) {
return md5(strtotime($strDatetime));
}

print("$strDatetime");
print get_md5_hash("$strDatetime","$strAuthWindow","$strSalt");

?>

这就是我得到的结果:

2018年4月18日13:24:0136BAE8F24429309F147F3BD6D8A1E0C9

2018年4月18日13:24:010EAB3B000E3D831A57F9E7B77F136900


在python中,您将散列时间戳字符串。在PHP中,您调用strtotime()并将字符串转换为整数unix时间戳。取消那个电话。