SHA = hashlib.sha1()
Eh = SHA.update(chunk)
HRSA.signSHA(Eh,RSAprivatekey)
RSAprivatekey считывается в модуле HRSA и передается в качестве аргумента этой функции:PyCrypto: Атрибут Ошибка: объект «NoneType» не имеет атрибута «подъязычная» в то время как с помощью PKCS1_v1_5
RSAprivatekey = RSA.importKey(infile.read())
входной_файл указывает на " privatekey.txt ', который содержит только RSAprivatekey.
HRSA представляет собой модуль, я создал, который в основном делает это:
def signSHA(hash, key):
signer = PKCS1_v1_5.new(key)
D = signer.sign(hash)
return D
Я показывается следующее сообщение об ошибке:
File "D:\Study\Sem V\Hybrid Encryption\Phase 2\HRSA.py", line 57, in signSHA
D = signer.sign(hash)
File "C:\Python33\lib\site-packages\Crypto\Signature\PKCS1_v1_5.py", line 110, in sign
em = EMSA_PKCS1_V1_5_ENCODE(mhash, k)
File "C:\Python33\lib\site-packages\Crypto\Signature\PKCS1_v1_5.py", line 211, in EMSA_PKCS1_V1_5_ENCODE
digestAlgo = DerSequence([hash.oid, DerNull().encode()])
AttributeError: 'NoneType' object has no attribute 'oid'
Как я могу это исправить, так как это ошибка с код PyCrypto?
У вас есть что-то в 'hash', вы можете отлаживать/печатать, чтобы проверить? Также переименуйте 'hash'' hash_', поскольку вы затеняете сборку в переменной 'hash' –
. Что, объект« NoneType »стал объектом« bytes ». Отпечатано и проверено, есть бинарные данные, присутствующие в хеше. –