目前网上的aBogus签名算法都是用python里execjs来执行js代码计算的,这种方法虽然可以达到计算签名值的结果,但是性能不高。本文直接将aBogus的js的源码改成python代码,同样的参数,计算的结果和js版本一样。
附python源码
import json
from random import choice
from random import randint
from random import random
from time import time
from urllib.parse import urlencode
from gmssl import sm3, func
class ABogus:
__end_string = "cus"
__str = {
"s0": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
"s1": "Dkdpgh4ZKsQB80/Mfvw36XI1R25+WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=",
"s2": "Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=",
"s3": "c