我正在将 ASP 网站转换为 PHP。该站点使用第 3 方 API。第 3 方 API 需要存储在数据库中的用户 ID 和每个用户的密码。ASP 站点没有将密码保存在数据库中,而是使用以下函数每次根据 UserID 派生密码:
public static string GetLmsUserPassword(int userId)
{
var hash = userId.ToString().MD5();
return hash.Substring(15, 4) + hash.Substring(4, 4);
}
在 PHP 中,我写了以下内容:
function lms_password($user_id) {
$hash = md5((int)$user_id);
$password = substr($hash,15,4).substr($hash,4,4);
return $password;
}
但是,PHP 中生成的密码似乎与 ASP 中的密码不匹配。我想知道 ASP 是否以不同的方式执行 md5?
一个示例 UserID 实际上是一个字符串,而不仅仅是一个数字:22E21F5D-7979-467E-928D-4EFCC323BDCB