每次运行代码时,Hashlib 库中的 Sha512 哈希都会产生不同的结果

Geo*_*ast 3 python hashlib

我正在尝试创建一个可以散列密码的系统,然后我可以存储散列并将散列与输入的密码进行比较。问题是,每当我运行此代码时,它生成的哈希值对于相同的输入都是不同的。我发现代码在同一运行中每次执行都会产生相同的输出,但运行之间不一致。

代码:

import hashlib

def Sha512Hash(Password):
    HashedPassword=hashlib.sha512(Password.encode('utf-8'))
    print(HashedPassword)

Sha512Hash('Hi')
Sha512Hash('Hi')
Run Code Online (Sandbox Code Playgroud)

azi*_*bom 6

试试这个代码:

import hashlib

def Sha512Hash(Password):
    HashedPassword=hashlib.sha512(Password.encode('utf-8')).hexdigest()
    print(HashedPassword)

Sha512Hash('Hi')
Sha512Hash('Hi')
Run Code Online (Sandbox Code Playgroud)

你的输出将是这样的,没有任何问题

45ca55ccaa72b98b86c697fdf73fd364d4815a586f76cd326f1785bb816ff7f1f88b46fb8448b19356ee788eb7d300b9392709a289428070b5810d9b5c2d440d
45ca55ccaa72b98b86c697fdf73fd364d4815a586f76cd326f1785bb816ff7f1f88b46fb8448b19356ee788eb7d300b9392709a289428070b5810d9b5c2d440d
Run Code Online (Sandbox Code Playgroud)