Ich habe diesen Code, aber wenn ich es ausführen, akzeptiert es nur "to_address" Variable einer bestimmten lenh. Wenn es zu lange dauert, erhalte ich eine Ausnahme:Pycrypto Zeichenfolge zu lang, um zu signieren/überprüfen
Traceback (most recent call last):
** IDLE Internal Exception:
File "C:\Python27\lib\idlelib\run.py", line 325, in runcode
exec code in self.locals
File "C:\Python27\lib\idlelib\run.py", line 111, in main
seq, request = rpc.request_queue.get(block=True, timeout=0.05)
File "C:\Python27\lib\Queue.py", line 176, in get
raise Empty
Empty
Dies ist mein Code:
import hashlib
import sqlite3
import socket
import time
from Crypto.PublicKey import RSA
# import keys
key_file = open('keys.pem','r')
key = RSA.importKey(key_file.read())
public_key = key.publickey()
private_key_readable = str(key.exportKey())
public_key_readable = str(key.publickey().exportKey())
address = hashlib.sha224(public_key_readable).hexdigest()
to_address = str(raw_input ("Send to address: "))
amount = str(raw_input ("How much to send: "))
timestamp = str(time.time())
transaction = str(timestamp) +":"+ str(address) +":"+ str(to_address) +":"+ str(amount)
signature = key.sign(transaction, '')
print "Client: Signature: "+str(signature)
if public_key.verify(transaction, signature) == True:
if int(amount) < 0:
print "Client: Signature OK, but cannot use negative amounts"
else:
...process...
else:
print "Client: Invalid signature"
raise
#enter transaction end
Wenn jemand weiß, wie um diese Längenbegrenzung zu gehen, würde es geschätzt. Muss ich die Zeichenfolge irgendwie verschlüsseln, um sie kürzer zu machen, um sie zu verifizieren und dann wieder zu entschlüsseln?
Dank, Prüfung jetzt – HCLivess