كيفية تحويل مصفوفة بايت إلى سلسلة ست عشرية والعكس في C#؟
مرحباً بالجميع! أنا مطور C# مبتدئ وواجهت مشكلة أثناء العمل مع بيانات البايت. أحتاج إلى حفظ hash (SHA256) في ملف نصي، ثم تحميله مرة أخرى للتحقق. أحصل على hash كمصفوفة بايت (byte[])، ولكن للكتابة في الملف يجب تحويله إلى string، ثم عند القراءة — العودة إلى مصفوفة بايت.
حاولت استخدام `BitConverter.ToString(bytes)`، لكنه يعيد string مع شرطات بين البايتات، مثلاً: "A1-B2-C3". هذا ليس ما أريده تماماً — أود الحصول على string مضغوط بدون فواصل، مثل "A1B2C3". وعندما أحاول قراءة هذا string مرة أخرى، لا أعرف كيفية تحويله بشكل صحيح إلى مصفوفة بايت.
هذا مثال على الكود الخاص بي الذي لا يعمل حالياً كما أريد:
```csharp
byte[] hashBytes = SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes("test"));
string hexString = BitConverter.ToString(hashBytes); // نحصل على "A1-B2-C3..."
// كيف نزيل الشرطات؟
// وكيف نحول hexString بعد ذلك
```