成都银行微银行小程序加密及签名算法 加密及签名算法 加密使用了SM4, 签名使用SM3。 SM4加解密的密钥是固定值。
const h = "c7f257b248563df6326769cc6c43a6af" , f = "00bec4b971def04147c51f1d9ae91f0415009bb0c1c736641dcb2b4523af1a3098" , a = "04570cb7ed9c676aceb8f11ba06f736a729dbaad96a7cd66b484f92b460884fd053f7cef9e403e71d159a6a44e9d5194db8850e830962029c24987be981438ebbf" ;var c = function (t ) { let e = s.sm4.encrypt(t, h, { iv: h, mode: "cbc" , padding: "pkcs#5" }); return d(e) }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 def get_sign (data ): hash_hex = sm3.sm3_hash(func.bytes_to_list(data.encode())) data = binascii.unhexlify(hash_hex) return base64.b64encode(data).decode()def encrypt (data ): key = binascii.unhexlify('c7f257b248563df6326769cc6c43a6af' ) iv = binascii.unhexlify('c7f257b248563df6326769cc6c43a6af' ) crypt_sm4 = CryptSM4() crypt_sm4.set_key(key, SM4_ENCRYPT) encrypted = crypt_sm4.crypt_cbc(iv, data.encode()) return base64.b64encode(encrypted).decode() data = '{"body":{"activ_id":"AC861688779535048704"},"timestamp":1685758739046,"nonce":"58739046"}' print ('sign:' , get_sign(data))print ('data:' , encrypt(data))''' # output sign: cbXReQpjToXVilj3LQfZQlrV5HFRrf1jn63V06vXUwk= data: eUhNzC1ZLpRdK6ink5rE0rP0nn0TcmiKsEZ/Lf0vLxaOB1Ci+WpvOhHnJPYaIFVuNmQrziKmEmjDP9q5KFVGUci5wDCNdHgfwWF3Hv2EXmjgfvCNbR6yAMeFAZgNWrFv '''
抢券请求 POST /mkt/web-api/v1/coupon-center/get-coupon HTTP/1.1 Host : ad.mkt.bocd.com.cnContent-Type : application/json;charset=UTF-8Origin : https://ad.mkt.bocd.com.cnMACTOKEN : Bearer eyJhbGciOiJIUzUxMiIsInppcCI6IkRFRiJ9.eNocjMsKwjAQRf9l1g3kMUmT7lwoKhZBFN1JSEZbBZtFxGrpv1vK3Z1zuAP4d26gGqBL9NpEqKBb7s5Xva-TFrLMp8XqsG3uz-_l-FvXUIBPac4-PaFyZK2SQRhJ6GAs4JHbyXlnA3GMLEorGCrtmC3RMBQ3J0wImnOarlqfoRLG6nIaxwKoTzMwykjFcfwDAAD__w.-GBe99gsGjBUKfzReXT8aVLVkJWGTgR60YblTQ5esISlL26leZI-HGVuquxmILjYjh9uCBIU9gYvcSa-PD00MgAccept-Encoding : gzip, deflateConnection : closeAccept : application/json, text/plain, */*User-Agent : Mozilla/5.0 (iPhone; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.28(0x18001c2e) NetType/WIFI Language/zh_CN miniProgram/wxe439e8832c162e49Referer : https://ad.mkt.bocd.com.cn/mkt/activ/2023/coupon-center/detail?activId=AC861687358211252224&couponId=CC861360088521793536&batchDate=20230603Content-Length : 237Accept-Language : zh-CN,zh-Hans;q=0.9 {"data":"eUhNzC1ZLpRdK6ink5rE0ka0Pvd7zPD4sJjXibz+06NEUk3QGEd+pZwqZbeoAL7vry4BVokCLDvny98QPoX/VLrQoVXSefXpGf8A6rCddBtqoVgbNCIY5+2QSrtjQ9k05MD5VCzCxBag3cBoGTGGnLrwlgucGpw3fNIxrvGDAKo=","sign":"AYE5PMzWpXF6WjYKE1Bp41BDBGKEw0lOGsi1wel+0pw="}
请求体解密后:
{"body" :{"activ_id" :"AC861687358211252224" ,"coupon_id" :"CC861360088521793536" },"timestamp" :1685757515254 ,"nonce" :"57515254" }