Im, не понимая, как я должен хранить хешированные пароли с помощью scrypt.Python - Правильный способ хранения паролей с помощью scrypt?
Вот пример:
import pyscrypt
hashed = pyscrypt.hash(password = b"password",
salt = b"seasalt",
N = 1024,
r = 1,
p = 1,
dkLen = 16)
print(hashed.hex()) #70ac953b777e24c4f41c4657eb9f03c2
hashed = pyscrypt.hash(password = b"password",
salt = b"seasalt",
N = 1024,
r = 2,
p = 1,
dkLen = 16)
print(hashed.hex()) #b00b951cd50675806c55d903dba9cbca
hashed = pyscrypt.hash(password = b"password",
salt = b"seasalt",
N = 1024,
r = 1,
p = 2,
dkLen = 16)
print(hashed.hex()) #7c3fa22552c8a9071da0e8c80a0a2767
В приведенном выше примере мы можем видеть, что хэш изменяется в зависимости от параметра N, r, p
значения.
Означает ли это, что я должен сохранить N, r, p
значений тоже в базе?
Что я должен делать в будущем, когда на рынке будет доступно более мощное оборудование? Например, попросите пользователей изменить свой пароль, чтобы можно было применить новую функцию хэширования или что-то еще?
Почему вы используете эту библиотеку в отличие от 'passlib', которая может легко хранить и понимать параметризованные и соленые хеши. –
@ Antti Просто гадать, но passlib не поддерживает scrypt ...!? – deceze