나는 ASP 사이트를 PHP로 변환하려고합니다. 이 사이트는 타사 API를 사용합니다. 타사 API에는 데이터베이스에 저장된 사용자 ID와 각 사용자의 비밀번호가 필요합니다. 데이터베이스에 암호를 저장하지 않은 ASP 사이트, 대신 그들이 사용자 ID에 기반 할 때마다 암호를 유도하기 위해 다음과 같은 기능을 사용 :ASP 함수를 PHP로 변환하여 암호를 생성하십시오.
function lms_password($user_id) {
$hash = md5((int)$user_id);
$password = substr($hash,15,4).substr($hash,4,4);
return $password;
}
: PHP에서
public static string GetLmsUserPassword(int userId)
{
var hash = userId.ToString().MD5();
return hash.Substring(15, 4) + hash.Substring(4, 4);
}
을, 나는 다음을 썼다
그러나 PHP에서 생성 된 암호가 ASP의 암호와 일치하지 않는 것으로 보입니다. ASP에서 md5가 다르게 작동하는지 궁금합니다.
의 예 사용자 ID가 실제로 문자열이 아닌 숫자입니다 : 인해 각각 캐스트 방식에 22E21F5D-7979-467E-928D-4EFCC323BDCB
와우, 그건 끔찍한 생각입니다. – Madbreaks
ASP에서 반환 된 해시와 PHP에서 반환 된 해시가 일치하는지 확인하여 시작 하시겠습니까? 또한 입력으로 int 걸리는 경우 userID.ToString() ASP 코드에서 반환하는 무엇입니까? – koopajah
방금 ASP 함수가 UserID를 int로 입력한다는 것을 알았습니다. 그래서 나는 동일한 기능을 수행하기 위해 함수를 업데이트했다 : – sccr410