我生成 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(使用前将#替换为@)