2017-03-04 152 views
1

当我尝试使用ripemd160hashlib它说它无法找到它。hashlib找不到ripemd160

我用easy_install hashlib安装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: unsupported hash type

+0

你可以显示你正在使用的代码和给出的确切的错误信息吗? –

+0

是的,我编辑它。 – CriticalTheWizard

回答

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库更改为具有不同版本号的库,则必须重新构建依赖于该库的任何内容。