2017-04-19 1 views
-2

데이터베이스에 소금이 가거나 해시 된 비밀번호를 저장할 때 가장 적합한 방법은 무엇입니까? BCrypt 또는 SHA51 또는 PBKDF2에 대해 가장 적합한 것은 무엇입니까?C#에서 Asp.Net을 사용하여 MySQL 데이터베이스의 비밀번호를 저장하는 방법

그리고 누군가는 C#에서 Asp.net을 사용하여 MySQL 데이터베이스에서 구현하는 방법을 알려주십시오.

+1

첫 번째 부분은 한 가지 질문에 적합하지만 프로젝트의 성격에 따라 더 많은 부분을 차지할 수 있습니다. 두 번째 부분은 너무 광범위하여 한 게시물에서 해결할 수 없습니다. –

+0

SHA512와 같은 해시 함수를 사용하는 것만으로는 충분하지 않으며 소금을 추가하면 보안을 향상시키는 데별로 도움이되지 않습니다. 대신 무작위 소금과 계산 시간이 약 100ms 인 함수를 사용하여 소금과 반복 횟수를 해시로 저장하십시오. 'PBKDF2','Rfc2898DeriveBytes','password_hash','Bcrypt' 또는 유사한 기능을 사용하십시오. 공격자가 빈번한 암호 목록에서 무단으로 암호를 찾는 데 많은 시간을 소비하게하는 것이 핵심입니다. – zaph

+0

[NIST] (https://www.nist.gov)는 현재 'PBKDF2'를 권장합니다. [암호 기반 키 유도 권장 사항] (http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf)을 참조하십시오. – zaph

답변

2

데이터베이스에 비밀번호를 저장하는 방법은 무엇입니까? 당신이 요청해야하는 경우

, 당신은 확실히이 자신을 구현하고 싶지 않아요.

어떻게 구현 [이] 당신이 운이 좋다

ASP.NET

를 사용하여, 그들은 이미 당신을 위해 것을했다. ASP.NET Identity이라고 불리우며 생각할 수있는 ORM 및 RDBMS와 함께 사용할 수 있습니다.

다시 아니요은 비밀번호 저장을 직접 처리하려고합니다.

관련 문제