2013-10-23 5 views
0

잘 실행되는이 ASP.NET 응용 프로그램이 있습니다. 이제 Windows Forms 응용 프로그램에서 ASP.NET 멤버 자격 데이터베이스에 사용자를 추가해야합니다. Windows Forms 응용 프로그램 내부에서 Membership 클래스를 성공적으로 사용할 수 있었지만 사용자를 추가하는 데 너무 오래 걸리고 많은 양의 사용자를 추가해야합니다.ASP.NET 멤버 자격에서 암호 해싱

그래서 저는이 사용자들을 데이터베이스에 직접 추가하려고 시도했지만 비밀번호를 올바르게 해싱 할 수 없습니다.

public static string EncodePassword2(string pass, out string saltb64) 
{ 
    saltb64 = Crypto.GenerateSalt(); 
    byte[] bytes = Encoding.Unicode.GetBytes(pass); 
    byte[] src = Convert.FromBase64String(saltb64); 
    byte[] dst = new byte[src.Length + bytes.Length]; 
    Buffer.BlockCopy(src, 0, dst, 0, src.Length); 
    Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length); 
    HashAlgorithm algorithm = HashAlgorithm.Create("HMACSHA256"); 
    byte[] inArray = algorithm.ComputeHash(dst); 
    return Convert.ToBase64String(inArray); 
} 

사람이 올바른 방법을 수행하는 방법을 알고 있나요 : 여기

내가 해시 된 암호를 생성하기 위해 사용하고 코드입니다?

답변

0

사용 Crypto.HashPassword 방법

이 링크를 참조하십시오 : 귀하의 답변에 대한

http://www.troyhunt.com/2012/07/stronger-password-hashing-in-net-with.html

+0

감사, 트로이 당신이 의견을 참조하는 경우, 사용하는 해시 알고리즘 asp.net 팀에 대한 잘못 해당 페이지에서 볼 수 있듯이 동일한 포스트에서 사용 된 알고리즘은 HMACSHA256입니다. 둘 다 테스트 해봤는데 작동하지 않습니다. 예제 코드를 제공 할 수 있다면 좋을 것입니다. – jcgalveza