если я создаю хеш с помощью django.contrib.auth.hashers.make_password django для одной и той же строки, я получаю каждый раз разные хэши. Я не понимаю, как это законно, потому что, насколько я знаю, хеш-функции должны генерировать один и тот же хэш каждый раз, так как по определению это функция. Чего мне не хватает?
from django.contrib.auth.hashers import make_password
password = "helloworld"
h1 = make_password(password)
h2 = make_password(password)
print h1, h2
h1 = u'pbkdf2_sha256 $ 20000 $ Tr6NV5MewXYl $ X + sezT6WRqBwYmJR / RZmZHLP6 / l6ntSaBke0RKU1 / v0 = '
h2 = u'pbkdf2_sha256 $ 20000 $ 05rEmxChtXlI $ NdZGfTKH + kqt1viuFng3GmvBp6eJcsstxV4JcDlBGIs = '
Я подозреваю, что для хэширования каждый раз используются разные алгоритмы, и, следовательно, хеш также различен. Я прав?