Я пытаюсь сгенерировать хэш пароля в стиле Unix, используя MD5.Я понимаю, что мне нужно, чтобы он выглядел как $1$<salt>$<hash>
, но часть <hash>
не выглядит одинаково, независимо от того, что я делаю.Вот как я генерирую хэш:
MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] inputBytes = System.Text.Encoding.UTF8.GetBytes(pass);
byte[] hash = md5.ComputeHash(inputBytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append((char) hash[i]);
}
String calchash = sb.ToString();
Я почти уверен, что теперь я использую StringBuilder
для создания строки из хешированных байтов.Но я не знаю, какие будут правильные настройки.