我正在使用 Python 2.7 并使用以下命令创建 HMAChmac
图书馆。 Python 3.3 包括compare_digest()
函数将比较两个摘要并抵抗定时攻击,但这在 2.7 中不可用。普遍的建议是不要推出自己的加密货币,那么是否有任何成熟的 Python 库可以提供该功能? PyCrypto 似乎没有。
对于从搜索中找到此内容的任何人,如果使用 Django,那么您还可以使用constant_time_compare
函数于django.utils.crypto https://github.com/django/django/blob/master/django/utils/crypto.py#L80.
>>> from django.utils.crypto import constant_time_compare
>>> constant_time_compare("foo", "bar")
False
>>> constant_time_compare("foo", "foo")
True
这有同样的警告hmac.compare_digest https://docs.python.org/2/library/hmac.html#hmac.compare_digest(并且实际上使用hmac.compare_digest
如果存在):
Note:如果 a 和 b 的长度不同,或者发生错误,理论上,定时攻击可以揭示有关 a 和 b 的类型和长度的信息,但不能揭示它们的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)