我正在尝试通过用户交互创建一个散列函数。这个想法是用户选择他/她想要的哈希值(即 md5、sha1 等),其余的由程序完成。
我的代码:
hashstring = "hashlib" + finalHash
filePath = open(chosenFile, 'rb')
data = filePath.read(8192)
if not data:
return
hashstring.update(data) # The line that causes error
return hashstring.hexdigest()
finalHash
来自包含(假设选择 md5)的字典,'.md5()'
因此来自的字符串hashstring
is 'hashlib.md5()
。
我收到错误:AttributeError: 'str' object has no attribute 'update'
,错误指出我很明显:hashstring
是一个字符串(正如我声明的那样),我的问题是:我如何转换或以其他方式使其按预期可用?