Когда я запускаю следующее на своем Macbook, я получаю сообщение об ошибке:
>>> import hashlib
>>> hashlib.md5(usedforsecurity=False)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: openssl_md5() takes no keyword arguments
Но когда я запускаю его на своем компьютере с Linux, он работает!
>>> import hashlib
>>> hashlib.md5(usedforsecurity=False)
<md5 HASH object @ 0x7f763c1375d0>
Моя проблемаМне нужно запустить некоторый безопасный, не связанный с безопасностью код в моей системе с поддержкой FIPS (например, управлять кэшем пользовательских запросов, который хэширует пользовательский запрос в виде строки MD5).Использование флага usedforsecurity
предотвращает исключение FIP.
Это прекрасно работает, кроме случаев, когда я хочу проверить свой код на своем Macbook.Библиотека libcrypto моего Macbook, очевидно, не поддерживает этот флаг usedforsecurity
.Есть ли хороший способ определить, поддерживают ли базовые привязки C за hashlib.md5
этот флаг или нет?