-
-
Save Fank/11127158 to your computer and use it in GitHub Desktop.
std::stringstream bestring; | |
__int64 steamID = 76561197996545192; | |
__int8 i = 0, parts[8] = { 0 }; | |
do parts[i++] = steamID & 0xFF; | |
while (steamID >>= 8); | |
bestring << "BE"; | |
for (int i = 0; i < sizeof(parts); i++) { | |
bestring << char(parts[i]); | |
} | |
// I used this md5 library http://www.zedwood.com/article/cpp-md5-function | |
std::cout << md5(bestring.str()) << std::endl; |
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Security.Cryptography; | |
using System.Text; | |
using System.Threading.Tasks; | |
namespace ConsoleApplication1 | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
Int64 SteamId = 76561197996545192; | |
byte[] parts = { 0x42, 0x45, 0, 0, 0, 0, 0, 0, 0, 0 }; | |
byte counter = 2; | |
do | |
{ | |
parts[counter++] = (byte)(SteamId & 0xFF); | |
} while ((SteamId >>= 8) > 0); | |
MD5 md5 = new MD5CryptoServiceProvider(); | |
byte[] beHash = md5.ComputeHash(parts); | |
StringBuilder sb = new StringBuilder(); | |
for (int i = 0; i < beHash.Length; i++) | |
{ | |
sb.Append(beHash[i].ToString("x2")); | |
} | |
Console.Out.WriteLine(sb.ToString()); | |
Console.In.Read(); | |
} | |
} | |
} |
// Thanks to nano2k | |
package main | |
import ( | |
"crypto/md5" | |
"fmt" | |
) | |
func main() { | |
steamid := 76561197996545192 | |
h := md5.New() | |
h.Write([]byte("BE")) | |
for i := 0; i < 8; i++ { | |
h.Write([]byte{byte(steamid & 0xFF)}) | |
steamid >>= 8 | |
} | |
fmt.Printf("Battleye GUID: %x", h.Sum(nil)) | |
} |
var crypto = require('crypto'); | |
var int64 = require('int64-native'); | |
var md5Hash = crypto.createHash('md5'); | |
var steamId = new int64('76561197996545192'); // The steamid must be a STRING! not a number! | |
md5Hash.update('BE'); | |
for (var i = 0; i < 8; i++) { | |
md5Hash.update(String.fromCharCode(steamId.and(0xFF).toNumber())); | |
steamId = steamId.shiftRight(8); | |
} | |
console.log(md5Hash.digest('hex')); |
<?php //Cheers Rommel | |
/* Verify that following value is higher than 2147483647(32bit): | |
echo PHP_INT_MAX; | |
*/ | |
$steamID = '76561197996545192'; | |
$temp = ''; | |
for ($i = 0; $i < 8; $i++) { | |
$temp .= chr($steamID & 0xFF); | |
$steamID >>= 8; | |
} | |
$return = md5('BE' . $temp); | |
echo $return; | |
?> |
# Thanks to gunlinux | |
import md5 | |
steamid=76561197996545192 | |
temp = "" | |
for i in range(8): | |
temp += chr((steamid & 0xFF)) | |
steamid >>= 8 | |
m = md5.new("BE"+temp) | |
print m.hexdigest() |
-- Microsoft SQL Server | |
-- https://github.com/Fankserver/Microsoft-SQL-Server-Assemblies/tree/master/BattlEye | |
SELECT SteamIdToBattlEyeGUID(76561197996545192); |
Fank, can this be done the other way around to? Like from guid to SteamId?
Yes you can.
Use the free reverse-lookup / converter: https://devt0ols.net/converter
Available on each browser and any mobile device.
Valid lookup values: Steam (Vanity) URL, Steam ID, Steam ID 3, Steam ID 64, BattlEye ID, Bohemia ID
REST API
https://devt0ols.net/converter/?inc=help/api
Example response:
{
"error": false,
"result": {
"steam_url": "https://steamcommunity.com/profiles/76561197960265729",
"steam_id": "STEAM_0:1:0",
"steam_id3": "[U:1:1]",
"steam_id64": "76561197960265729",
"battleye_id": "74ae012b5407e0a3cc2cd82ec1f8ba7d",
"bohemia_id": "ccuWIpEIrX_wmD5VsthErf1qNQbEK7IdG6fL1Il4KuA=",
"requests": 1
}
}
Discord BOT
https://devt0ols.net/converter/?inc=main/bot
Invitation link: ID Bot
The BOT is able to lookup and convert each of the mentioned values above.
There is also the AllianceApps API: https://allianceapps.io/beguid
Or if you would like to host it yourself: https://github.com/Multivit4min/beguid-converter
Edit: Just realized I shared this link already :D
But no, you cannot convert it directly (without a rainbow table).
Guid and UID Calculator Discord Bot
https://github.com/siegmund0/SteamID64ToGUID-Discord-Bot
Here is a nodejs implementation that needs no external deps as long as your running +10.4.0