抖音中aBogus签名算法的纯PHP代码实现(2024年10月)

目前网上的aBogus签名算法都是用python里execjs来执行js代码计算的,这种方法虽然可以达到计算签名值的结果,但是性能不高。本文直接将aBogus的js的源码改成php代码,同样的参数,计算的结果和js版本一样。

提醒:代码中的sm3函数需根据SM3-PHP | 国密标准SM3的PHP实现里的步骤安装才可调用。

附PHP源码

<?php


const g_end_string = "cus";

const g_str = [
    "s0" => "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
    "s1" => "Dkdpgh4ZKsQB80/Mfvw36XI1R25+WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=",
    "s2" => "Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=",
    "s3" => "ckdp1h4ZKsUB80/Mf