美文网首页
python中RSA加密

python中RSA加密

作者: 无谓着 | 来源:发表于2021-03-12 13:24 被阅读0次

    需要安装Crypto,通常装上去用的时候会报错,应该安装pycrypto
    先卸载Crypto和pycrypto(pycrypto根本就没安装上,如果你运气好安装上了,那么恭喜你)

    pip uninstall Crypto
    pip uninstall pycrypto
    

    然后安装第三方库pycryptodome

    pip install pycryptodome
    

    在进行加密时会报错

    # [startTime = time.clock()AttributeError: module 'time' has no attribute 'clock]
    

    此时需要去替换库里的time.clock()方法,python3.8不支持clock了,替换成time.perf_counter()替换就可以了

    加密方法

    from Crypto.PublicKey import RSA
    from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5
    import base64
     
    # 加密
    message = "Hello,This is RSA加密"   #加密内容
    #rsakey = RSA.importKey(open("public.pem").read())   
    rsakey = RSA.importKey('''-----BEGIN RSA PRIVATE KEY-----
    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbzJ7yfLUsuYEx7d3Sx1a4ulHmrkBLmnVaiJ7t+ZEo3VzxZBe8v8mmEaordJ2E1OSyydaBu8sL4ZJQH1k4uyozTeQWm3rpm2hN/OIUTmeXJmSIHLcVNld7K7CaSNFYrIrelyN/SNf6d+naLVGgdBGvuZxJ4zcfdmAvSxxxxxxxxxxx
    -----END RSA PRIVATE KEY-----''')
    cipher = Cipher_pkcs1_v1_5.new(rsakey)     #创建用于执行pkcs1_v1_5加密或解密的密码
    cipher_text = base64.b64encode(cipher.encrypt(message.encode('utf-8')))
    print(cipher_text.decode('utf-8'))
    

    相关文章

      网友评论

          本文标题:python中RSA加密

          本文链接:https://www.haomeiwen.com/subject/ynhzqltx.html