python实现RSA加密的代码

之前都只写过AES-ECB和CBC模式的, 这个rsa的还是第一次写, 百度了好久,都不是自己想要的, 还是记录一下,代码还是很简单:

import base64

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5

def encrypt():
    pubkey = '''-----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnbJqzIXk6qGotX5nD521Vk/24APi2qx6C+2allfix8iAfUGqx0MK3GufsQcAt/o7NO8W+qw4HPE+RBR6m7+3JVlKAF5LwYkiUJN1dh4sTj03XQ0jsnd3BYVqL/gi8iC4YXJ3aU5VUsB6skROancZJAeq95p7ehXXAJfCbLwcK+yFFeRKLvhrjZOMDvh1TsMB4exfg+h2kNUI94zu8MK3UA7v1ANjfgopaE+cpvoulg446oKOkmigmc35lv8hh34upbMmehUqB51kqk9J7p8VMI3jTDBcMC21xq5XF7oM8gmqjNsYxrT9EVK7cezYPq7trqLX1fyWgtBtJZG7WMftKwIDAQAB
    -----END PUBLIC KEY-----'''
    text = "3FB276EB0DE6CE91ABD80273F1295578A82EAC22410AB6C6F340765A8367257E"
# pubkey = '-----BEGIN PUBLIC KEY-----\n' + p_key + '\n-----END PUBLIC KEY-----' 这种写法也可以, 注意的是要加'\n'来换行
    rsakey = RSA.importKey(pubkey.encode())
    ciper = Cipher_pkcs1_v1_5.new(rsakey)
    en_data = base64.b64encode(ciper.encrypt(text.encode())).decode()
    print(en_data)
encrypt()

两个注意事项:

1. 公钥pubkey的格式必须按照我上面这种格式! BEGIN,公钥,END都必须各自占一行!!我之前就是因为写成了一行, 所以一直报错!!

2. pubkey和明文text都必须先encode哈

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值