RSA 加密算法是一种非对称加密技术,即加密时候用的密钥和解密时用的密钥不是同一把,加密用公钥解密就要用私钥,加密用私钥解密就要用公钥

  1. # Crypto 安装

    安装 pycryptodome

    pip install pycryptodome	# 支持 py2 和 py3
  2. # python2python3 实现 RSA 加密

    # 证书格式不能错
    public_key = """-----BEGIN RSA PRIVATE KEY-----
    MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALLUiZV6DVmAcJGOsWzftnYxDVpIdTlQynYeTtq5Z1ZzUteINPX24GyeetbYjnIT8pq0IdXGEjjBtngvddR0YaMCAwEAAQ==
    -----END RSA PRIVATE KEY-----"""
    def rsa_encry(msg, public_key):
        """
        单次加密串的长度最大为 (key_size/8)-11
        1024bit的证书用100, 2048bit的证书用 200
        """
        pubobj = PKCS1_v1_5.new(RSA.importKey(public_key))
        # python3
        res = b""
        for i in range(0, len(msg), 100):
            res += (pubobj.encrypt(msg.encode()[i:i+100]))
        return base64.b64encode(res)
        # python2
        res = []
        for i in range(0, len(msg), 100):
            res.append(pubobj.encrypt(msg[i:i+100]))
        return base64.b64encode("".join(res))
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

渣渣文 微信支付

微信支付

渣渣文 支付宝

支付宝