我正在遷移我的數據庫,我有一個用戶表,它有密碼存儲在md5中嗎?所以我想只在md5中存儲我的密碼,如果用戶輸入密碼,它接受it.so是否有任何方法可以保存我的密碼在md5。 say for example my user has a password :-'e10adc3949ba59abbe56e057f20f883e'
以md5格式保存md5密碼django?
password =request.POST.get('password').strip()
confirmPassword =request.POST.get('confirmPassword').strip()
if password != confirmPassword:
messages.error(request,'password and confim password must be same')
return render(request, 'templates/sign-up.html')
if User.objects.filter(email=email).exists():
messages.error(request, 'This email already exists')
return render(request, 'templates/sign-up.html')
new_password = make_password(password)
staff = False
superUser = False
status = True
authUser = User(password=new_password,
username=email, email=email,is_active=status, is_staff=staff, is_superuser=superUser)
authUser.save()
,我想保存在我的AUTH_USER表我怎麼能做到這一點。
@Terry ** SHA256不是密碼散列算法**密碼散列算法的全部目的是緩慢並且難以並行運行,因此攻擊者需要花費大量資源來破解密碼。 SHA256既快又便宜。您需要使用適當的基於密碼的密鑰派生函數,例如PBKDF2,BCrypt或Argon。 – knbk
看到即時遷移我的老cms生成PHP到Django,我有用戶與密碼在MD5,所以我只是想複製和粘貼這些密碼,但同時我想django知道它的MD5密碼 –
只使用哈希函數不是充足而且僅僅添加鹽對提高安全性沒有多大作用。相反,用隨機鹽迭代HMAC約100ms持續時間,然後用散列表保存鹽。使用諸如'PBKDF2','Rfc2898DeriveBytes','password_hash','Bcrypt'或類似函數的函數。關鍵是要讓攻擊者花費大量時間通過強力查找密碼。 – zaph