使用 hashlib python 将每个数字列表的数量散列到 sha256
Posted
技术标签:
【中文标题】使用 hashlib python 将每个数字列表的数量散列到 sha256【英文标题】:hash each number of number list to sha256 with hashlib python 【发布时间】:2022-01-23 12:26:38 【问题描述】:我的哈希值与标准 sha256 不同
如何在 python 中使用 hashlib 将每个列表编号散列到 sha256?
你可以看到我的结果和其他在线转换器结果:
#hash 9999 from https://emn178.github.io/online-tools/sha256.html
888df25ae35772424a560c7152a1de794440e0ea5cfee62828333a456a506e05
#hash 9999 from https://www.online-convert.com/result#j=96f7a8bb-2c97-4c6c-ae6d-7deda4f62e3c
888df25ae35772424a560c7152a1de794440e0ea5cfee62828333a456a506e05
#hash 9999 from https://passwordsgenerator.net/sha256-hash-generator/
888DF25AE35772424A560C7152A1DE794440E0EA5CFEE62828333A456A506E05
my sha256 hash of 9999:
877f59e9e62b9f0bfdc877653856410990e8aba4ac8b55ad06cd8cf5ecdfbc17
这是我的代码。任何人都可以教我如何解决这个问题?
import CSV
from hashlib import sha256
hash_dic =
numbers = []
count = 1
#make number range between 1 t0 9999
while count <= 9999:
numbers.append(count)
count += 1
#make hash sha256 dic
for number in numbers:
hashed = sha256(bytes(number)).hexdigest()
hash_dic[number] = hashed
#open csv file and maining hashes
with open("Desktop/passwords.csv") as passwrd:
reader = csv.reader(passwrd)
for row in reader:
csv_hash = row[1]
for key,value in hash_dic.items():
if csv_hash == value:
print(f"for row[0] password is key")
else:
pass
print(hash_dic)
#print(number)
【问题讨论】:
【参考方案1】:在您提到的在线网站上,您正在输入一个字符串'9999'
,可能是ASCII 或UTF8。您需要将相同的字节数组传递给 hashlib。
import hashlib
hashlib.sha256(str(9999).encode()).hexdigest()
# --> 888df25ae35772424a560c7152a1de794440e0ea5cfee62828333a456a506e05
如果你真的想传递一个整数作为它的字节表示,而不是一个字符串,那么How to hash int/long using hashlib in Python? 会有所帮助。
【讨论】:
以上是关于使用 hashlib python 将每个数字列表的数量散列到 sha256的主要内容,如果未能解决你的问题,请参考以下文章
将一个数字与 Python 中列表(或数组)中的每个元素相加
25.Python序列化模块,hashlib模块, configparser模块,logging模块,异常处理