Показать сообщение отдельно

  #5  
Старый 09.04.2010, 09:24
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


По умолчанию

1) void GetHashStr(wchar_t* Password, char *HashStr) - это
Procedure GetHashStr(Password:PWideChar; HashStr:Pchar) // про * незабываем )

2) CryptHashData(hHash, (unsigned char*)Password, (wcslen(Password)+1)*2);
Тут считается кол-во символов расширенной строки + символ конца строки (0x00) и умножается на 2 чтобы узнать длинну в байтах. По этому более корректно будет так:
CryptHashData(hHash, PByte(Password), (length(Password)+1)*2, 0)
 
Ответить с цитированием