Como usar o scrypt para gerar hash para senha e sal em Python

Eu gostaria de usar o scrypt para criar um hash para as senhas e sais dos meus usuários. eu encontreidois referências, mas há coisas que eu não entendo sobre elas.

Eles usam o scrypt criptografar e descriptografar funções. Um criptografa uma string aleatória e o outro criptografa o salt (o que parece errado, já que apenas a senha e não o salt é usado para decriptografia). Parece que a função de descriptografia está sendo usada para validar a senha / salt como um efeito colateral da descriptografia.

Com base no pouco que entendo, o que eu quero é uma função de derivação de chave (KDF) em vez de criptografia / descriptografia e que o KDF é provavelmente gerado e usado pelo scrypt para criptografia / descriptografia. O KDF real é usado nos bastidores e eu estou preocupado que seguir cegamente esses exemplos levará a um erro. Se as funções criptografar / descriptografar scrypt forem usadas para gerar e verificar a senha, não entendo a função da cadeia que está sendo criptografada. Seu conteúdo ou comprimento são importantes?

questionAnswers(2)

yourAnswerToTheQuestion