https://medium.com/@ewho.ruth2014/building-custom-password-hashers-in-django-a-real-world-guide-to-secure-authentication-43422278cc96