如何将steam的token 生成字符串缩短

266 阅读2分钟

鱼弦:公众号:红尘灯塔,CSDN内容合伙人、CSDN新星导师、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 github.com/Peakchen)

如何将 Steam 的 token 生成字符串缩短

Steam 使用的是一种称为 Base64 的编码方式来生成 token。Base64 是一种将二进制数据转换为文本字符串的编码方式,它会将数据膨胀约 33%。

要缩短 Steam token 生成字符串,可以采取以下方法:

  • 使用压缩

可以使用 gzip 或 bzip2 等压缩算法来压缩 token 生成字符串。这可以将字符串长度缩短约 50% 到 90%。

  • 使用自定义编码

可以使用自定义编码来将 token 生成字符串转换为更短的字符串。例如,可以使用一个字典将常见的字符串替换为更短的代码。

  • 使用 URL 缩短服务

可以使用 Bitly 或 TinyURL 等 URL 缩短服务来缩短 token 生成字符串。这些服务会将长 URL 转换为更短的 URL。

以下是一些具体的缩短 Steam token 生成字符串的方法:

使用 gzip 压缩

import gzip

token = "your_token_here"

compressed_token = gzip.compress(token.encode("utf-8"))

print(compressed_token)

使用 bzip2 压缩

import bz2

token = "your_token_here"

compressed_token = bz2.compress(token.encode("utf-8"))

print(compressed_token)

使用自定义编码

import base64

alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

def encode(token):
  encoded_token = ""
  for char in token:
    encoded_token += alphabet[ord(char) % len(alphabet)]
  return encoded_token

token = "your_token_here"

encoded_token = encode(token)

print(encoded_token)

使用 URL 缩短服务

import requests

url = "https://api.bitly.com/v4/shorten"

headers = {
  "Authorization": "Bearer your_bitly_access_token"
}

data = {
  "long_url": "https://steamcommunity.com/openid/login?openid.claimed_id=http://steamcommunity.com/openid/id/76561198097411432&openid.identity=http://steamcommunity.com/openid/id/76561198097411432&openid.mode=checkid_setup&openid.ns=http://specs.openid.net/auth/2.0&openid.realm=https://steamcommunity.com&openid.return_to=https://steamcommunity.com/login/home/?goto=%2Fmy%2Fhome"
}

response = requests.post(url, headers=headers, data=data)

if response.status_code == 200:
  short_url = response.json()["link"]
  print(short_url)
else:
  print(response.text)

使用自定义编码或 URL 缩短服务可能会导致 token 生成字符串无法被 Steam 识别。**