首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hashlib找不到ripemd160

hashlib找不到ripemd160
EN

Stack Overflow用户
提问于 2017-03-04 21:39:44
回答 1查看 3.6K关注 0票数 2

当我尝试在ripemd160hashlib一起使用时,它说它找不到它。

我使用了easy_install hashlib,它安装了hashlib,但仍然找不到ripemd160。

我用的是Ubuntu和python2.7

代码语言:javascript
复制
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:不支持的散列类型

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-04 23:25:59

Hashlib是Python标准库的一部分,所以您不必安装它。

但是,唯一可以保证可用的哈希算法是md5、sha1、sha224、sha256、sha384和sha512。

根据您平台上使用的SSL库,还可以使用其他库。

您可以在终端中运行openssl list-message-digest-algorithms,以查看哪些算法可用。

(注意事项:从OpenSSL1.1.1开始,上面的命令无法工作。试试openssl dgst -list)

以上假设Python使用系统的SSL库,但情况可能并非如此。

或者(更好)来自Python:

代码语言:javascript
复制
import hashlib

print(hashlib.algorithms_available)

如果ripemd160不可用,您可能应该考虑使用不同的选项重新安装SSL库。(假设Python使用系统的SSL)

如果要将SSL库更改为具有不同版本号的库,则还必须重新构建依赖于它的任何内容。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42601709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档