Я пытаюсь изучить механизм хеширования (PBKDF2 + статическая соль) с помощью c # (Rfc2898DeriveBytes), у меня есть консольное приложение Poc.но дело в том, что я не получаю ожидаемый результат, а не получаю двоичный результат.Вот мой код:
using System;
using System.Security.Cryptography;
class Program
{
static void Main(string[] args)
{
string enrollmentID = "1800483366";
string testID = "bmat-practice-test-1";
string saltstring = "CEOngDKm3ZvnZIJNOg+u3z+o";
const int IterationIndex = 1000;
byte[] salt = Convert.FromBase64String(saltstring);
byte[] actualByte = PBKDF2(string.Concat(testID, enrollmentID), salt, IterationIndex, salt.Length);
string result = System.Text.Encoding.UTF8.GetString(actualByte);
Console.WriteLine(result);
Console.ReadKey();
}
private static byte[] PBKDF2(string concatenrollmenttestid, byte[] salt, int Pbkdf2Iterations, int HashByteSize)
{
Rfc2898DeriveBytes pbkdf2 = new Rfc2898DeriveBytes(concatenrollmenttestid, salt) { IterationCount = Pbkdf2Iterations };
return pbkdf2.GetBytes(HashByteSize);
}
}
Ожидаемый результат:
71b614a33830226eb359b2f1ddca8373c3e3
Фактический результат
� (кБ٬���� Ry�` [aJ�
Может кто-нибудь помочь мне в этом? Заранее спасибо.