import base64
import rsa
pwd = '123456'
testkey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5p/fjOB2CWD1Ik8KuQ6G6oori1HgoQduhunqzC8JASO8v8yUftvKyivFABlaQwinkBBkWUjripcZJb4lia9K3x+xFPj/13HvPPr0GmGtLv/DMd7YCT6zzSRklXoMYEVjGdBbLWRbOyh0MTUZXA1I0gbqiSZ0UFUlmLZC1DB0kXQIDAQAB'
def str2key(str_key):
b64key = base64.b64decode(str_key)
hex_str = ''
for x in b64key:
hex_str = hex_str + '{0:02X}'.format(x)
# 找到模数和指数的开头结束位置
m_start = 29 * 2
e_start = 159 * 2
m_len = 128 * 2
e_len = 3 * 2
modulus = hex_str[m_start:m_start + m_len]
exponent = hex_str[e_start:e_start + e_len]
return rsa.PublicKey(int(modulus,16), int(exponent,16))
# return modulus,exponent
def rsa_encrypt(pwd):
pk = str2key(jilikey)
print(pk)
return base64.b64encode(rsa.encrypt(pwd.encode('utf-8'), pk))
pwd = hashlib.md5(str.encode(pwd)).hexdigest()
pwd = rsa_encrypt(pwd)