我將用戶從其他站點遷移到django站點。舊的網頁有鹽和md5密碼,我正在寫一個自定義哈希alghorithm,以便用戶可以用他們的舊密碼進行身份驗證。Django未知密碼哈希算法 - 編寫自定義哈希算法
當我試圖登錄老用戶,我得到:
Unknown password hashing algorithm 'my_hashed_password'. Did you specify it in the PASSWORD_HASHERS setting?
這就是我的密碼散列器
class FallbackMD5PasswordHasher(BasePasswordHasher):
algorithm = "fallback_md5"
def salt(self):
return 'my_salt'
def encode(self, password):
return hashlib.md5(self.salt() + password).hexdigest()
def verify(self, password, encoded):
encoded_2 = self.encode(password, '')
return constant_time_compare(encoded, encoded_2)
def safe_summary(self, encoded):
return SortedDict([
(_('algorithm'), self.algorithm),
(_('hash'), mask_hash(encoded, show=3)),
])
這就是我的settings.py
PASSWORD_HASHERS = (
'lfs_custom.hasher.FallbackMD5PasswordHasher',
'django.contrib.auth.hashers.PBKDF2PasswordHasher',
'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
'django.contrib.auth.hashers.BCryptPasswordHasher',
'django.contrib.auth.hashers.SHA1PasswordHasher',
'django.contrib.auth.hashers.MD5PasswordHasher',
'django.contrib.auth.hashers.CryptPasswordHasher',
)
請給我一些信息如何解決這個:)我找不到它爲什麼不工作。
字符串「my_hashed_password」來自哪裏?你可以查找項目文件嗎? – Marat
該字符串是我的數據庫中的散列密碼,在登錄時返回錯誤。 – Efrin