Я пытаюсь создать га sh для 2 более длинных разных строк с bcrypt (в python)
Это работает для более коротких строк (например, "a"
и "b"
), но когда я использую длинную строку с тем же началом, она возвращает одинаковое значение ha sh.
Я должен отметить, что значение соли остается одинаковым для обеих строк.
import bcrypt
hash_msg1 = b"1 b'$2b$12$kknL1S6HaV1/DyNiHhV/ue9SPIOAx.qY2iE33QS8.pi8jM0gvZ53a' {'him': -120, 'me': 100}"
hash_msg2 = b"1 b'$2b$12$kknL1S6HaV1/DyNiHhV/ue9SPIOAx.qY2iE33QS8.pi8jM0gvZ53a' {'him': -1, 'me': 1}"
salt = bcrypt.gensalt()
hash1 = bcrypt.hashpw(hash_msg1, salt)
hash2 = bcrypt.hashpw(hash_msg2, salt)
if hash1 == hash2:
print('Hash is the same')
else:
print('It works')
Это печатает 'Ha sh - то же самое'
Я попытался использовать другую библиотеку под названием rsa
, в которой вы можете использовать rsa.compute_hash(message, 'SHA-256')
. Я пробовал это с этими двумя сообщениями, это работало, но я хотел бы знать, как я могу сделать это с bcrypt .
(хотя я должен также упомянуть, что ha sh из Библиотека rsa не использует соль, но я могу просто добавить соль в виде строки в конец основной строки)
Кажется, что существует максимальный предел символов, но мне интересно, как я могу получить это все равно работает.