Avatar ·

Comment convertir un tableau d'octets en chaîne hexadécimale et inversement en C# ?

Bonjour à tous ! Je suis un développeur C# débutant et j'ai rencontré un problème en travaillant avec des données binaires. Je dois enregistrer un hachage (SHA256) dans un fichier texte, puis le recharger pour vérification. J'obtiens le hachage sous forme de tableau d'octets (byte[]), mais pour l'écrire dans un fichier, je dois le convertir en chaîne, puis lors de la lecture — le reconvertir en tableau d'octets. J'ai essayé d'utiliser simplement `BitConverter.ToString(bytes)`, mais cela produit une chaîne avec des tirets entre les octets, par exemple : "A1-B2-C3". Ce n'est pas exactement ce dont j'ai besoin — je voudrais obtenir une chaîne compacte sans séparateurs, comme "A1B2C3". Et quand j'essaie de lire une telle chaîne en sens inverse, je ne sais pas comment la convertir correctement en tableau d'octets. Voici un exemple de mon code qui ne fonctionne pas comme je le souhaite pour le moment : ```csharp byte[] hashBytes = SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes("test")); string hexString = BitConverter.ToString(hashBytes); // On obtient "A1-B2-C3..." // Comment enlever les tirets ? // Et comment ensuite convertir hexString ```