python rsa 加密方式

这段代码展示了如何使用Python的rsa库进行RSA加密。它导入了必要的模块,定义了一个rsaSign函数用于生成RSA签名,以及一个buildMySign函数用于构建签名字符串。还包含了一个简单的unittest测试用例。

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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值