Avatar ·

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