我做了一个小例子来说明hashlib没有正确加密!(背景资料: SHA512中'e‘的哈希是"87c568e037a5fa50b1bc911e8ee19a77c4dd3c22bce9932f86fdd8a216afe1681c89737fada6859e91047eece711ec16da62d6ccb9fd0de2c51f132347350d8c")
#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 87c568e037a5fa50b1bc911e8ee19a77c4dd3c22bce9932f86fdd8a216afe1681c89737fada6859e91047eece711ec16da62d6ccb9fd0de2c51f132347350d8c我正在Spyder上使用Python3.7。非常感谢能帮助我的人!
发布于 2020-01-28 00:39:08
如果您想要SHA512,那么您使用的散列算法是错误的。
import hashlib
def hash_sha512(s):
h = hashlib.sha512()
h.update(s.encode())
return h.hexdigest()
print(hash_sha512('e'))
# 87c568e037a5fa50b1bc911e8ee19a77c4dd3c22bce9932f86fdd8a216afe1681c89737fada6859e91047eece711ec16da62d6ccb9fd0de2c51f132347350d8csha3_512是the 512 variant of the SHA3 algorithm。
https://stackoverflow.com/questions/59934131
复制相似问题