所以我剛開始嘗試使用Pycrypto並希望對消息進行加密和解密,但是我放在一起的這段代碼產生了一些錯誤。Python:Pycrypto RSA公共密鑰加密錯誤
這裏,他們是:
enc_data = public_key.encrypt
TypeError: unsupported operand type(s) for pow(): 'str', 'int','int'
ciphertext = cipher.encrypt('Bob')
Traceback (most recent call last):
line 22, in ciphertext = cipher.encrypt('Bob')
File "C:\Anaconda3\lib\site-packages\Crypto\Cipher\PKCS1_OAEP.py", line 50, in encrypt
db = lHash + ps + bchr(0x01) + messageTypeError: can't concat bytes to str
的代碼:
import Crypto
from Crypto.Hash import SHA256
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
from Crypto import Random
random_generator = Random.new().read
key = RSA.generate(1024, random_generator)
public_key = key.publickey()
enc_data = public_key.encrypt('Bob', 32)
cipher = PKCS1_OAEP.new(key)
ciphertext = cipher.encrypt('Bob')
這意味着可以 '鮑勃' 加密的兩個命令產生這些錯誤,並是的,我現在第一種方式不是很安全。
如果對象只是對數據進行加密和解密,並且不需要公鑰/私鑰對使用對稱加密(如AES)。即使使用非對稱加密,數據通常也會使用對稱加密進行加密。非對稱加密限於密鑰大小,比對稱加密慢**。 – zaph