import unittest,hashlib,time
import requests,rsa,base64
from Crypto.Hash import SHA256
from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5 as Signature_pkcs1_v1_5
from Crypto.Signature import PKCS1_v1_5
api_key = “b677c338-9330-4d63-94ff-f9d5d7afe078”
a = ”’—–BEGIN RSA PRIVATE KEY—–
MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAK+NpjCbra4IAd9mDmlge7pBy8eN+LU4bz8RG7MdRimsxvTx2BGE2t8yfcho1TT9tmIMWzXVfH5QItH33Clu1Q3FApR+P3j63BTNizsw4EuCbsIiUQy9uePRPFJoK/S/jfi9vU82GM5AW07Of8Oz0VHYbKWJdSUecbB1KKmxPhgnAgMBAAECgYAa2Ih/im8G3AadSRgPGUgSdZlaDOXpoJ
—–END RSA PRIVATE KEY—–”’
def rsaSign(m):
rsakey = RSA.importKey(a)
signer = Signature_pkcs1_v1_5.new(rsakey)
digest = SHA256.new()
digest.update(m.encode(‘utf-8’))
sign = signer.sign(digest)
signature = base64.b64encode(sign)
return signature
def buildMySign(params):
sign = ”
for key in sorted(params.keys()):
sign += key + ‘=’ + str(params[key]) + ‘&’
data = sign[:-1]
return hashlib.md5(data.encode(“utf8”)).hexdigest().upper()
class match(unittest.TestCase):
def setUp(self):
self.url = “http://www.baidu.com”
def test_01(self):
params = {
'api_key': str(api_key),
"symbol": "eth_btc",
"type": 'sell',
"price": '0.03',
"amount": '0.01'
}
sign = buildMySign(params)
params['sign'] = rsaSign(sign)
r = requests.post(self.url, params=params)
print(r)
print(r.json())
if name == ‘main‘:
unittest.main()