Hashlib неправильно шифрует? - PullRequest
0 голосов
/ 27 января 2020

Я сделал небольшой пример, чтобы показать, что hashlib неправильно шифрует! (Справочная информация: ха sh для 'е' в SHA512 является "87c568e037a5fa50b1bc911e8ee19a77c4dd3c22bce9932f86fdd8a216afe1681c89737fada6859e91047eece711ec16da62d6ccb9fd0de2c51f132347350d8 c")

    #imports
import hashlib
#var
code = "87c568e037a5fa50b1bc911e8ee19a77c4dd3c22bce9932f86fdd8a216afe1681c89737fada6859e91047eece711ec16da62d6ccb9fd0de2c51f132347350d8c" #Input decoding string here. this one equals e.
dbanswer = "e"
dbanswer = dbanswer.encode()
dbanswer = hashlib.sha3_512(dbanswer)
dbanswer = dbanswer.hexdigest()
print(dbanswer)
print(code)

Выход: 6ebb8a73bfd0459bd575b9dbef6dcb970bb11182591f5ecd7c8c0d771b3269b715fcb84005d542ff74306565a46b3b893f64ca41b8519457ae137f6429dfbb1e 1005 * Я использую Python 3,7 на Spyder. Большое спасибо тому, кто может мне помочь!

1 Ответ

1 голос
/ 27 января 2020

Вы используете неправильный алгоритм хеширования, если хотите SHA512.

import hashlib

def hash_sha512(s):
    h = hashlib.sha512()
    h.update(s.encode())
    return h.hexdigest()

print(hash_sha512('e'))
# 87c568e037a5fa50b1bc911e8ee19a77c4dd3c22bce9932f86fdd8a216afe1681c89737fada6859e91047eece711ec16da62d6ccb9fd0de2c51f132347350d8c

sha3_512 - это вариант 512 алгоритма SHA3 .

...