RSA:公钥加密与私钥解密

公钥加密与私钥解密都需要安装rsa,安装代码如下

pip install rsa

公钥加密:

import rsa
#如何生成public.pem在前面“生成公钥与私钥”文章中已说过
with open("public.pem", "rb") as f:
    public_key_bytes = f.read()
    #将公钥对应 的流转成公钥对象
    public_key = rsa.PublicKey.load_pkcs1(public_key_bytes)
    #定义要加密的字符串
    message = "hello"
    text = rsa.encrypt(message.encode(), public_key)

    #使用base64进行编码
    import base64
    #base64对加密后的内容进行编码
    text = base64.b64encode(text).decode()
    #不妨打印看一下
    print(text)

私钥解密:

import rsa
import base64
#这一串是公钥加密后打印获得的字符串
sign_text = "QL1fnPTt3KDUfdcfWcSuJ5+jpsTYneO4V3mVuA9lBSM/o7QQL9X78va4EMDTwljo7nNntpXAp6+DYMXIi7nHZyHahCUuKQcamnq0lDj/Kg2xVf7Ly0pdcLkQ1UHP4z50FbZFeOi7h/8NRiCQpx37NqaKNYYDbWviNbYbOrpAFtG7BUf+k402dP4yWUTLiD4uLqvjwX5TAgb7EMhMQ9bmpyeIaYFmi+EQX62ObPsZLywp9coGM2iFxA5T5fO9lm6mUewAbyti3BJr3bb3VWyf1pXRhDuQr+HpQFpBRKAtkg5PNJ3DbosLZOYxuYEut1SuUaXSOZBMCMgwfa/b5ynLnA=="
#使用base64对加密后的内容进行解密
text = base64.b64decode(sign_text.encode())
#使用私钥解密
with open("private.pem", "rb") as f:
    private_key_bytes = f.read()
    #转成私钥对象
    private_key = rsa.PrivateKey.load_pkcs1(private_key_bytes)
    #使用私钥解密
    message = rsa.decrypt(text,private_key).decode()
    print(message)

打印massage后可以看到结果是使用公钥加密前的“hello”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值