目前网上的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