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')
'ボブ' を暗号化するために意図されている2つのコマンドはこれらのエラーを生成し、はい、私は今、最初の方法はあまり安全ではないということです。
オブジェクトが単にデータを暗号化および復号化するだけで、公開鍵/秘密鍵のペアが必要ない場合は、AESなどの対称暗号化を使用します。非対称暗号化を使用する場合でも、データは通常、対称暗号化で暗号化されます。非対称暗号化は鍵のサイズに制限され、対称暗号化よりもはるかに** **です。 – zaph