2013-09-23 3 views
0

소금 데이터가있는 문자열을 사용하여 BCrypt.Net 라이브러리를 사용하여 암호를 해시합니다.Bcrypt.Net.Verify는 거짓 문자열 데이터에 대해 true를 반환합니다.

코드 :

string src = Salt + UserName + Key + Password 
var hash = Bc.HashPassword(src, 12); 

내가 잘못된 문자열 데이터로 해시 데이터 (예를 들어 서로 다른 암호)를 확인하기 위해 노력하고있어, 값 BCrypt.Verify(wrongStr,hash) 반환 true입니다.

어떤 아이디어? 문자열 길이 제한이 있습니까? 60 문자 문자열 이

하고 확인을하면 부울을 활용할 필요가 잘못된 것을 처리 할 수 ​​제기 있는지 확인 반환 bcrypt

답변

1

!

string myPassword = "password"; 
string mySalt = BCrypt.GenerateSalt(); 
//mySalt == "$2a$10$rBV2JDeWW3.vKyeQcM8fFO" 
string myHash = BCrypt.HashPassword(myPassword, mySalt); 
//myHash == "$2a$10$rBV2JDeWW3.vKyeQcM8fFO4777l4bVeQgDL6VIkxqlzQ7TCalQvla" 


bool doesPasswordMatch = BCrypt.CheckPassword(myPassword, myHash); 
관련 문제