편도 해시 암호화로 연습하는 임.MVC 암호 속성 해시
MVC 모델이 Entity Framework와 있는데 암호 값을 저장하려고했습니다. 쓰기 전용 속성을 갖고 싶었지만 반환 값이 없다면 데이터베이스에 저장되지 않는다는 것을 발견했습니다. 편집보기를 방문 할 때마다 해시가 표시됩니다. 편집보기에서 빈 일반 암호 입력 필드를 사용하여이 문제를 해결할 수있었습니다.
사용자가 정보를 수정하고 암호를 변경하지 않고 (공백으로두면) 해당 속성의 값을 변경하지 않았더라도 암호 필드를 null로 설정하면 문제가 생깁니다.
누구나 더 좋은 방법을 제안 할 수 있습니까? 귀하의 답변에 미리 감사드립니다.
[DataType(DataType.Password), MaxLength(50)]
private string _Password;
public string Password
{
get
{
return _Password;
}
set
{
if(!string.IsNullOrEmpty(value))
{
_Password = FormsAuthentication.HashPasswordForStoringInConfigFile(value, "MD5");
}
}
}
'FormsAuthentication.HashPasswordForStoringInConfigFile'을 사용하지 마십시오. bruteforce 하기엔 너무 빠릅니다. 멤버십 클래스 또는 Rfc2898DeriveBytes를 사용하십시오. – CodesInChaos