0
데이터베이스에 비밀번호를 저장하기 위해 .Net 구현의 BCrypt를 사용하고 있습니다. 암호가 잘립니다, 일부 사용자의 경우데이터베이스에서 BCrypt 해시 된 암호가 잘림
Update [User]
Set [Password]= @NewPassword,
ModifiedOn = GetDate(),
ModifiedBy = 'PasswordChanger'
Where [UserName] = @UserName
: 암호 컬럼은 VARCHAR (MAX)가
이 저장 프로 시저를 통해 암호를 업데이트하는 코드입니다. 절단 후 예는 다음과 같습니다. $ 2a $ 12 $ XM2
항상 그렇지는 않습니다.
잘라내기를 일으킬 수있는 점을 이해해 주시겠습니까?
는 UPDATE :
여기암호를 업데이트 할 SP를 호출하는 C# 코드입니다 :
string HashedPassword;
int NumberOfRowsAffected;
try
{
Database jss = DatabaseFactory.CreateDatabase();
HashedPassword = BCrypt.HashPassword(txtPassword.Text, BCrypt.GenerateSalt(12));
NumberOfRowsAffected = jss.ExecuteNonQuery("procUpdatePassword", GetLogin(HttpContext.Current.User.Identity), HashedPassword);
if (NumberOfRowsAffected > 0)
lblStatus.Text = "Password updated.";
else
{
lblStatus.Text = "Password not updated for this user.";
}
}
catch (Exception ex)
{
lblStatus.Text = "Password was not changed due to an error.";
lblStatus.Text += ex.ToString();
}