【发布时间】:2018-04-18 17:32:10
【问题描述】:
我需要从 php 在 python 中编写一个 md5 哈希,并且一直在尝试让日期给出正确的 md5 哈希。两种语言都打印完全相同的日期,但如果对该日期进行哈希处理,则哈希值不同。
** md5 hash需要匹配原始php hash(需要修改python而不是php)
md5.py
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
<?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-04-18 13:24:01 36bae8f24429309f147f3bd6d8a1e0c9
2018-04-18 13:24:01 0eab3b000e3d831a57f9e7b77f136900
【问题讨论】:
-
您确定日期时间 1000% 相同吗?考虑使用硬编码的日期时间值再次测试
-
我已经尝试过了,但随后产生了巨大的雪球效应,导致将日期时间转换为字符串。
-
这是我的一个示例:pastebin.com/FUaTg0ba