it-swarm.com.de

Was bedeutet ToString ("X2")?

Ich lerne die MD5-Verschlüsselung und habe diesen Code mit Google gefunden:

    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();
    }

Warum wird ToString("X2") verwendet? Wie unterscheidet es sich von normalem ToString?

67
Lai32290

Es formatiert die Zeichenfolge als zwei hexadezimale Großbuchstaben.

Genauer gesagt ist das Argument "X2" Eine "Formatzeichenfolge", die der ToString() -Methode mitteilt, wie die Zeichenfolge formatiert werden soll. In diesem Fall gibt "X2" an, dass die Zeichenfolge hexadezimal formatiert werden soll.

byte.ToString() ohne Argumente gibt die Zahl in ihrer natürlichen Dezimaldarstellung ohne Auffüllung zurück.

Microsoft dokumentiert die Standardzeichenfolgen im numerischen Format , die im Allgemeinen mit den ToString() -Methoden aller primitiven numerischen Typen funktionieren. Dasselbe Muster wird auch für andere Typen verwendet: Beispiel: Standard-Datums-/Zeitformat-Zeichenfolgen kann mit DateTime.ToString() verwendet werden.

85
TypeIA

Es druckt das byte im Hexadezimalformat.

Keine Formatzeichenfolge: 13

Formatzeichenfolge 'X2': 0D

http://msdn.Microsoft.com/en-us/library/aa311428 (v = vs.71) .aspx

41
Dave Zych

ToString ("X2") druckt die Eingabe hexadezimal

8
Dominic B.