我正在尝试解决一个问题,要求我定义一个函数,该函数将正整数T作为输入并输出一个字符串,这样
int(hashlib.sha256(string.encode())。hexdigest)= 是合格的。但是,我不明白Python如何输出字符串。我曾考虑过生成随机字符串或使用str(),但这似乎是不合理的。 我将如何解决这个问题?
非常感谢。
答案 0 :(得分:1)
hashlib不能像hashlib.sha256()这样的类,您需要使用字符串值更新gettin哈希的十六进制值,而不能仅使用int()转换十六进制值,而需要将基本参数添加为16
用法:
import hashlib
string="dumb"
hs=hashlib.sha256() # hs is element the hashlib.sha256() class
hs.update(string.encode()) # update hs with a string value
#now you can get hashed hex value
hs_hex=hs.hexdigest() #string hex hash value
hs_int=int(hs_hex,16) #int hash value
hs_int_str=str(hs_int) #string int hash value