某音X-Gorgon签名说明

经过数月的研究,终于小有成果,与大家分享一下,纯属对算法的兴趣爱好,如果侵权,请告知,立刻删除。

有过爬虫经验的人不难发现,抖音每个请求都有一个必要的参数:X-Gorgon。它是经过层层加密算法生成的,想要破解它真是一项浩大的工程。

附上本人的部分源码,

public static Map<String,Object> createXGorgon(String url, String cookie){
    long ts = System.currentTimeMillis() / 1000;
    long rticket = System.currentTimeMillis();
    String params = url.substring(url.indexOf("?") + 1, url.length());
    byte[] xgons = getXGonBytes(params, cookie);
    String g= getXGorgon(ts, xgons);
    Map<String, Object> headers = new HashMap<>();
    headers.put("X-Gorgon", g);
    headers.put("X-Khronos", ts);
    headers.put("X-SS-REQ-TICKET", rticket);
    return headers;
}

其中getXGonBytes 是将url中的参数及cookie进行转码,生成byte数组。

最主要的部分是 getXGorgon 函数,由于代码量过多,只能展示主要的部分

x-gorgon是字节跳动公司开发的一种用于生成和验证请求签名算法。在API请求中,使用x-gorgon可以确保请求的合法性和安全性。 x-gorgon通过对请求参数进行加密和处理来生成一个签名,然后将签名信息放入请求头中发送至服务器。服务器收到请求后,会对请求头中的签名进行验证,以确保该请求是由合法的客户端发起的。 x-gorgon算法的生成过程相对复杂,包含了多种加密方法和数据处理步骤。具体步骤如下: 1. 首先,需要提取请求中的关键参数,如请求路径、请求方法、请求体等。 2. 接下来,根据一定的规则和加密算法,对这些参数进行处理和加密,生成一个签名。 3. 然后,将生成的签名放入请求头中的x-gorgon字段中。 4. 最后,将请求发送至服务器,服务器会根据事先约定好的算法对请求头中的签名进行验证,如果验证通过,则认为该请求是合法的,否则会拒绝该请求。 通过使用x-gorgon生成签名,可以保证请求的合法性和安全性,防止非法请求和网络攻击。这在网络交互中非常重要,特别是在涉及到用户隐私和数据安全的应用场景下。 总而言之,x-gorgon是一种用于生成和验证请求签名算法,通过对请求参数进行处理和加密,确保请求的合法性和安全性。它在字节跳动的API请求中得到了广泛的应用,为用户的数据安全提供了很大的保障。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值