generar - hashing c#
¿Qué significa ToString("X2")? (3)
Formatea la cadena como dos caracteres hexadecimales en mayúsculas.
En mayor profundidad, el argumento "X2"
es una "cadena de formato" que le dice al método ToString()
cómo debe formatear la cadena. byte.ToString()
sin ningún argumento devuelve el número en su representación decimal natural, sin relleno.
Microsoft documenta las cadenas de formato numérico estándar que generalmente funcionan con todos los métodos numéricos primitivos '' ToString()
métodos. Este mismo patrón también se usa para otros tipos: por ejemplo, las cadenas de formato estándar de fecha / hora se pueden usar con DateTime.ToString()
.
Esta pregunta ya tiene una respuesta aquí:
- ToString ("X") produce números hexadecimales de 1 dígito 1 respuesta
Estoy estudiando sobre encriptar MD5, encontré este código en 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();
}
Pero ¿por qué está usando ToString ("X2")? ¿Cuál es la diferencia para ToString normal?
Imprime el byte
en formato hexadecimal.
Sin cadena de formato: 13
Cadena de formato ''X2'': 0D
http://msdn.microsoft.com/en-us/library/aa311428(v=vs.71).aspx
ToString ("X2") imprime la entrada en hexadecimal