Cómo convertir un array de bytes a una cadena hexadecimal y viceversa en C#?
¡Hola a todos! Soy un desarrollador principiante de C# y me encontré con un problema al trabajar con datos de bytes. Necesito guardar un hash (SHA256) en un archivo de texto, y luego cargarlo de vuelta para verificación. Obtengo el hash como un array de bytes (byte[]), pero para escribirlo en un archivo necesito convertirlo a una cadena, y luego al leerlo — de vuelta a un array de bytes.
Intenté usar simplemente `BitConverter.ToString(bytes)`, pero devuelve una cadena con guiones entre los bytes, por ejemplo: "A1-B2-C3". Esto no es exactamente lo que necesito — me gustaría obtener una cadena compacta sin separadores, como "A1B2C3". Y cuando intento leer esa cadena de vuelta, no sé cómo convertirla correctamente a un array de bytes.
Aquí hay un ejemplo de mi código que actualmente no funciona como me gustaría:
```csharp
byte[] hashBytes = SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes("test"));
string hexString = BitConverter.ToString(hashBytes); // Obtenemos "A1-B2-C3..."
// ¿Cómo quitar los guiones?
// ¿Y cómo luego convertir hexString