사용자가 암호를 변경할 때 이전 암호를 사용할 수 없도록해야한다는 과제가 있습니다. 이를 위해 Identity 프레임 워크가 비밀번호를 해쉬 할 때 비밀번호 해시를 저장합니다.암호 해시 ID 체계 및 소금
내 질문은 내가 최근에 선택한 사용자의 해시와 내가 저장 한 이전에 사용한 암호의 해시를 비교하는 방법입니다. 아이덴티티 프레임 워크가 사용하고있는 소금을 고려해야합니다.
업데이트 : 암호를 해시하는 데 appUserManager.PasswordHasher.HashPassword(passwordToHash)
을 사용하고 있지만 매번 새로운 해시가 생성됩니다 (ID 프레임 워크에서 내부적으로 소금을 사용하고 있기 때문입니다).
이 aspnetcore 신원 또는 이전 버전? –
ASP.NET ID v2.2 – webworm
나는'UserManager .UpdateAsync (TUser user)'를 오버라이드하고 백엔드 히스토리 테이블을 사용한다고 말하고 싶다. 사용자가 자신의 암호를 변경하고 기록에있는 N 개의 암호 중 하나 인 경우'IdentityResult.Failed ("암호를 다시 사용할 수 없습니다.")와 함께 암호를 거부하십시오. –