암호를 crypted_password와 비교하고 싶습니다. 암호가 has3 매개 변수 (문자열, 바이트 [], 바이트 [])가있는 passwordisvalid()라는 함수가 있습니다. 문자열 plaintextpassword, byte []에 대해 저장된 cryptedpassword 및 저장된 salt 및 crypted_password 및 salt 속성은 데이터베이스에 있습니다. 그래서 내 질문에 어떻게 varchar 데이터 유형을 byte []로 변환하여 passwordisvalid()에 전달할 수 있습니까? ?varchar 형식을 바이트 []로 변환 할 수 없습니다
public static bool IsPasswordValid(string passwordPlainText, byte[] savedSaltBytes, byte[] savedHashBytes)
{
byte[] array1 =GenerateSaltedHash(passwordPlainText,savedSaltBytes);
byte[] array2 = savedHashBytes;
if (array1.Length != array2.Length)
return false;
for (int i = 0; i < array1.Length; i++)
{
if (array1[i] != array2[i])
return false;
}
return true;
}
도움이 되겠습니다.
일부 코드를 공유 할 수 있습니까? –
public static bool IsPasswordValid (문자열 passwordPlainText, 바이트 [] savedSaltBytes, 바이트 [] 저장된 HashBytes) { 바이트 [] array1 = GenerateSaltedHash (passwordPlainText, savedSaltBytes); byte [] array2 = savedHashBytes; if (array1.Length! = array2.Length) false를 반환합니다. (array1 [i]! = array2 [i]) false를 반환하는 경우 (int i = 0; i
user3048066