如何使用c#从Steam ID 64获取正常的Steam ID

时间:2017-09-23 02:00:13

标签: c# steam

Steams Open ID仅返回Steam ID 64:

例如:76561198025336843

如何将其转换为真实的Steam ID?

例如:STEAM_0:1:32535557

有没有办法获取信息?

1 个答案:

答案 0 :(得分:1)

这绝对是可能的。可以从64位整数(long)计算实际的Steam ID。

基本上我们可以使用some calculations提取以下两个信息:

  • 验证服务器
  • 验证身份

通过这些信息,我们可以连接Steam 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