首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python3 RSA publickKey加密

Python3 RSA publickKey加密
EN

Stack Overflow用户
提问于 2020-09-17 12:25:29
回答 2查看 1.5K关注 0票数 0

我有一个公钥可以使用,我需要用我得到的RSA公钥来加密一些文本。

这是我到目前为止掌握的代码:

代码语言:javascript
代码运行次数:0
运行
复制
import rsa

fKey = open('key','r')
publicKey = fKey.read()

cipher = rsa.encrypt('Test', publicKey)
print(cipher)

通过这段代码,我不断地得到以下错误:

代码语言:javascript
代码运行次数:0
运行
复制
Traceback (most recent call last):
  File "login.py", line 30, in <module>
    cipher = rsa.encrypt('Test', publicKey)
  File "/home/vagrant/.local/lib/python3.8/site-packages/rsa/pkcs1.py", line 169, in encrypt
    keylength = common.byte_size(pub_key.n)
AttributeError: 'str' object has no attribute 'n'

谁能帮我指出正确的方向吗?

注意:我必须使用那个公钥文件

EN

回答 2

Stack Overflow用户

发布于 2020-09-17 13:10:41

我就是这样解决的。

代码语言:javascript
代码运行次数:0
运行
复制
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5 as Cipher_PKCS1_v1_5
from base64 import b64decode,b64encode

pubkey = open('key','r').read()
msg = "Test"
keyDER = b64decode(pubkey)
keyPub = RSA.importKey(keyDER)
cipher = Cipher_PKCS1_v1_5.new(keyPub)
cipher_text = cipher.encrypt(msg.encode())
emsg = b64encode(cipher_text)
print(emsg)
票数 1
EN

Stack Overflow用户

发布于 2022-05-28 13:12:46

你试过:

代码语言:javascript
代码运行次数:0
运行
复制
fKey = open('key','rb')
publicKey = rsa.PublicKey.load_pkcs1(fKey.read())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63937995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档