如何从int(hashlib.sha256(string.encode())。hexdigest)获取字符串输出?

时间:2019-02-24 21:56:22

标签: python-3.x string sha256

我正在尝试解决一个问题,要求我定义一个函数,该函数将正整数T作为输入并输出一个字符串,这样

int(hashlib.sha256(string.encode())。hexdigest)=

是合格的。但是,我不明白Python如何输出字符串。我曾考虑过生成随机字符串或使用str(),但这似乎是不合理的。

我将如何解决这个问题? 非常感谢。

1 个答案:

答案 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