2012-02-17 3 views
1

ASP.NET MVC3에 사용자 지정 멤버십 시스템을 만들려고합니다.ASP.NET MVC 3의 암호 암호화

많은 무료 및 오픈 소스 제공 업체가 있다는 것을 알고 있지만, 자세한 내용은이 작업을 수행하고 있습니다. 내 질문은 암호를 암호화하는 것입니다.

어떤 알고리즘을 사용 하시겠습니까? SHA1, SHA256, MD5, BCrypt 또는 다른 어떤 알고리즘을 사용 하시겠습니까? 또한, 어떤 방법으로 암호 용 소금을 만들 것을 제안합니까?

답변

1

BCrypt 정말 강력한 해시가 필요한 경우 소금 생성에 관한 한, RNGCryptoServiceProvider 클래스를 사용할 수 있습니다. 체크 아웃 할 수있는 an article입니다. 거기에 사용 된 SHA1 알고리즘을 BCrypt로 대체하십시오.

+0

감사합니다. BCrypt는 내부적으로 .net 및 RNGCryptoServiceProvider에서 지원됩니까? –

+1

@ king.net, 아니에요. 하지만 .NET 구현은 다음과 같습니다. http://bcrypt.codeplex.com/ –

1

대부분의 알고리즘은 해시 알고리즘이며 해시 (체크섬)를 암호화하지 않으며 일반적으로 암호를 복원하는 방법을 원한다면 암호를 저장하는 가장 좋은 방법입니다 (나는 그것에 대한 많은 이유가 있다고 생각하지 않는다.)

저는 sha256을 사용합니다. 소금에 대해서는 무작위로 6 자 이상의 문자열이 충분합니다. 그러나 소금은 무엇이든 될 수 있습니다. 그것은 당신의 상상력에 어떻게 의존 하는가에 달려 있습니다.