2017-09-23 9 views
0

를 사용하여 증기 ID 64에서 일반 스팀 ID를 얻기 위해 오픈 ID는 스팀 ID 64 리턴 발생한 증기 : 예를 들어어떻게 C#을

: 76561198025336843

가 어떻게이 실제 스팀 ID로 변환 할 수 있습니까? 예를 들어

: STEAM_0:1:32535557

는 정보를 얻을 수있는 방법이 있습니까?

답변

1

절대적으로 가능합니다. 실제 증기 ID는 64 비트 정수 (long)에서 계산할 수 있습니다.

Basicly 우리 some calculations을 사용하여 다음과 같은 두 가지 정보를 추출 할 수

  • 이 정보와위한 인증 서버
  • 위한 인증 이드

우리는 스팀 ID를 연결할 수있다.

public static string GetSteamId(string steamId64) 
{ 
    return GetSteamId(long.Parse(steamId64)); 
} 

public static string GetSteamId(long steamId64) 
{ 
    var authserver = (steamId64 - 76561197960265728) & 1; 
    var authid = (steamId64 - 76561197960265728 - authserver)/2; 
    return $"STEAM_0:{authserver}:{authid}"; 
} 

사용법 :

var result = GetSteamId("76561198025336843"); 
//result: STEAM_0:1:32535557 
여기 두 가지 유틸리티 방법은