有没有办法在Python中使用非openssl md5作为hashlib?

2024-05-10

我生成 md5 内容哈希值用于上传验证,但最近我注意到,对于在启用 FIPS 的计算机上运行的任何用户来说,这都会失败。 FIPS 禁用 openssl md5,导致ValueError当我尝试初始化 hashlib 时。通常我会使用 SHA,但我依赖于需要 content-md5 标头的外部服务。

我的问题是:有没有办法强制Python使用非openssl哈希函数?有一些谈话here https://bugs.python.org/issue9216关于添加一个usedforsecurity旗帜,但它似乎没有去任何地方。


标志usedforsecurity=False 仅在某些发行版上可用,因为它不是上游的一部分。您可以在 Red Hat Enterprise Linux 及其衍生版本(CentOs、Scientific Linux、Oracle Unbreakable Linux 等)中找到它。

您可以自由地将 md5(和其他加密危险的哈希值)仅用于非加密内容,例如用它来缓存结果。

md5=hashlib.new('md5',usedforsecurity=False) md5.update(data_to_hash) hex=md5.hexdigest()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在Python中使用非openssl md5作为hashlib? 的相关文章

随机推荐