首页 > 编程语言 > 详细

python 中将字符串加载为公钥

时间:2018-03-28 17:20:45      阅读:1020      评论:0      收藏:0      [点我收藏+]

网址:http://www.bubuko.com/infodetail-2349299.html

示例:

技术分享图片
import base64
import rsa


def strkey(strk):
    b_str = base64.b64decode(strk)

    if len(b_str) < 162:
        return False

    hex_str = ‘‘

    # 按位转换成16进制
    for x in b_str:
        h = hex(ord(x))[2:]
        h = h.rjust(2, 0)
        hex_str += h

    # 找到模数和指数的开头结束位置
    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 modulus, exponent


if __name__ == __main__:
    pub_str = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPg0O4rPQJL1O+jqJ4rBjFVNRAuDmBSoii9pYfPQBaescCVY0irkWWoLyfTT65TjvnPpOx+IfNzBTlB13qCEFm7algREoeUHjFgFNHiXJ2LK/R0+VWgXe5+EDFfbrFCPnmLKG3OcKDGQszP0VOf6VVTM1t56CpgaRMm1/+Tzd2TQIDAQAB"
    modulus, exponent = strkey(pub_str)
    modulus = int(modulus, 16)
    exponent = int(exponent, 16)
    pub_key = rsa.PublicKey(modulus, exponent)
    print pub_key
示例

 

python 中将字符串加载为公钥

原文:https://www.cnblogs.com/kayb/p/8664973.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!