Я пытаюсь Хешировать, и я хочу совместить вывод 323322056
с строкой base64
, так что их значения crc32
равны.Хеширование Функция не отвечает
test1.py
import binascii
result = binascii.crc32('supersecretpassword')
print(result) #323322056
test2.py
import binascii, socket, base64
socket.setdefaulttimeout(0)
i = 0
while True:
if binascii.crc32(base64.encodestring(i)) == 323322056:
print(base64.encodestring(i))
i += 1
Я получаю эту ошибку:
TypeError: object of type 'int' has no len()
Полный StackTrace
Traceback (most recent call last):
File "C:/Users/Ajay/PycharmProjects/itertools/test.py", line 6, in <module>
if binascii.crc32(base64.encodestring(i)) == 323322056:
File "C:\Python27\lib\base64.py", line 313, in encodestring
for i in range(0, len(s), MAXBINSIZE):
TypeError: object of type 'int' has no len()
Ожидаемый результат:
MTIxMjY5MTAwNg==
Такое, что это условие выполняется:
import binascii
print(binascii.crc32("MTIxMjY5MTAwNg=="))
# 323322056
Что такое полный отслеживающий вашего исключения? И что делает 'socket.setdefaulttimeout (0)' связано с вашим вопросом? –
Планируете ли вы скорректировать значение CRC32? Затем обратите внимание, что по всей строке всех нулей разной длины будут выдаваться разные значения base64. Вручение пароля таким образом займет действительно * длительное время. –
@MartijnPieters Да, я просто тестирую варианты: D – ajkumar25