当我尝试将ripemd160
与hashlib
一起使用时,它说无法找到它。
我使用安装了hashlib的easy_install hashlib
,但仍然无法找到ripemd160。
我正在使用Ubuntu和python2.7
def hexHash(str, withHash = None):
h = hashlib.new('ripemd160')
h.update(str)
if withHash != None:
return h.hexdigest()[0:6]
else:
return '#'+h.hexdigest()[0:6]
ValueError:不支持的哈希类型
答案 0 :(得分:1)
Hashlib是Python标准库的一部分,因此您无需安装它。
但是,唯一保证可用的哈希算法是md5,sha1,sha224,sha256,sha384和sha512。
其他可能可用,具体取决于您平台上使用的SSL库。
您可以在终端中运行openssl list-message-digest-algorithms
以查看哪些算法可用。
或者来自Python:
import hashlib
print hashlib.algorithms_available
如果ripemd160
不可用,您应该考虑使用不同的选项重新安装SSL库。
如果要将SSL库更改为具有不同版本号的SSL库,则还必须重建依赖于它的任何内容。