2020. 6. 21. 20:48
반응형
ASP.NET Core 웹 프로젝트에서 회원가입/로그인 시 비밀번호를 DB에 저장할 때 암호화하는게 좋다.
방법을 좀 찾아보니 Identity를 이용한 방법이 보였다.
PasswordHasher를 이용하여 가입할 때는 암호화된 해시값을 생성하고 DB에 저장하고, 로그인할 때는 사용자가 입력한 비밀번호와 DB에 저장된 해시값을 확인하여 성공할 경우 로그인 다음 단계로 진행하면 된다.
일단 간단히 콘솔프로그램 프로젝트를 생성하여 테스트해봤다.
처음 입력한 password는 가입할 때 입력한 비밀번호로 생각하면 된다.
그리고 생성된 hashed 값을 DB에 저장하고 로그인할 때 이 값을 불러와 VerifyHashedPassword 기능을 실행하여 PasswordVerificationResult.Success가 나오면 성공, PasswordVerificationResult.Failed가 나오면 실패로 처리하면 된다.
HashPassword, VerifyHashedPassword의 각 첫번째 파라미터는 어떤식으로 이용하는지 잘 모르겠다.
원래 user를 넣는 자리인데 예제가 잘 안나와서 아직 감이 안잡힌다.
var hasher = new PasswordHasher<string>();
Console.Write("Password: ");
var password = Console.ReadLine(); // 가입할 때 입력한 비밀번호
var hashed = hasher.HashPassword(null, password); // 회원 DB에 저장
Console.Write("Confirm Password: ");
var confirmPassword = Console.ReadLine(); // 로그인할 때 입력한 비밀번호
var result = hasher.VerifyHashedPassword(null, hashed, confirmPassword); // 로그인 성공여부 판단
Console.WriteLine(result); // Success or Failed
반응형
'dev' 카테고리의 다른 글
[JavaScript] 카카오톡 대화내용 백업파일 뷰어 (0) | 2021.05.30 |
---|---|
[JavaScript] Email validation (0) | 2020.12.19 |
[JavaScript] 배열 섞기 (0) | 2020.08.08 |
[JavaScript] 배열 내의 요소들의 합계 구하기 (0) | 2020.07.29 |
[Link] 온라인 C# 컴파일러 (0) | 2020.02.27 |
[ASP.NET Core] 파일 업로드 기능 구현 (ajax, 멀티) (0) | 2020.02.26 |
[ASP.NET Core] 앱 재시작 없이 페이지 변경사항 반영 (0) | 2020.02.13 |
[JavaScript] ResizeSensor: HTML 엘리먼트 크기 변화 감지 (0) | 2020.02.13 |