不同字符串的加密散列相同

问题描述 投票:-1回答:1

我正在尝试使用bcrypt(在python中)为2个更长的不同字符串创建一个哈希。

这适用于较短的字符串(例如"a""b"),但是当我使用长字符串时,具有相同的开头,它将返回相同的哈希值。

我应该提到两个字符串的盐值保持相同。

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')

此打印'哈希值相同'] >>

我尝试使用另一个名为rsa的库,您可以在其中使用rsa.compute_hash(message, 'SHA-256')。我尝试使用这2条消息来解决问题,但是我想知道如何使用bcrypt

(尽管我还要提到rsa库中的哈希不使用任何盐,但是我可以简单地将盐作为字符串添加到主字符串的末尾)

我正在尝试使用bcrypt为2个更长的不同字符串创建一个哈希(在python中),这适用于较短的字符串(例如“ a”和“ b”),但是当我使用长字符串并以相同的开头时,返回...

python hash bcrypt
1个回答
1
投票

bcrypt算法最多只能处理72个字符的密码

© www.soinside.com 2019 - 2024. All rights reserved.