这段python 的加密 有没有大神能给转份java的出来

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)

https://blog.csdn.net/csdnnews/article/details/86732461