Что означает ToString ( "X2" )?

Я изучаю шифрование MD5, я нашел этот код в Google

    public string CalculateMD5Hash(string input)
    {

        // Primeiro passo, calcular o MD5 hash a partir da string
        MD5 md5 = System.Security.Cryptography.MD5.Create();
        byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
        byte[] hash = md5.ComputeHash(inputBytes);

        // Segundo passo, converter o array de bytes em uma string haxadecimal
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < hash.Length; i++)
        {
            sb.Append(hash[i].ToString("X2"));
        }
        return sb.ToString();
    }

Но почему он использует ToString ( "X2" )? Какая разница с ToString нормально?

Ответ 1

Он форматирует строку как два строчных шестнадцатеричных символа в верхнем регистре.

Более подробно аргумент "X2" представляет собой "строку формата", которая сообщает методу ToString(), как он должен форматировать строку. byte.ToString() без каких-либо аргументов возвращает число в его естественном десятичном представлении без дополнения.

Microsoft документирует стандартные строки числового формата, которые обычно работают со всеми методами примитивного числового типа ToString(). Эта же модель используется и для других типов: например, стандартные строки формата даты/времени можно использовать с DateTime.ToString().

Ответ 3

ToString ( "X2" ) печатает вход в шестнадцатеричном формате