Мне нужно использовать алгоритм scrypt, и, поскольку я уже использую hashlib, я решил ... почему бы и нет?Я уже проверил этот , и он указал, что OpenSSL 1.1+ был необходим.Также, согласно официальному документу :
hashlib.scrypt (пароль, *, соль, n, r, p, maxmem = 0, dklen = 64)
...
Доступность: OpenSSL 1.1 +.
Новое в версии 3.6.
Я удостоверился, что у меня установлена последняя версия openssl:
# openssl version
OpenSSL 1.1.1b 26 Feb 2019
Я также пытался запустить python3.6 и python3 (3.4), и оба сказали, что они не могут импортировать scrypt:
# python3.6
Python 3.6.5 (default, Apr 10 2018, 17:08:37)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from hashlib import pbkdf2_hmac
>>> from hashlib import scrypt
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name 'scrypt'
Как вы можете видеть, другие методы, такие как pbkdf2_hmac
, работают.Что может быть не так?
Кроме того, что такое *
в hashlib.scrypt(password, *, salt, n, r, p, maxmem=0, dklen=64)
?