الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة 0\ عند تحويل Byte to string

بدأه ammarroza في 31 يناير 2013 · 4 رد · 754 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اقوم بعمل خوارزمية تشفير

وبعد عمل xor عادي اجد ان بعض النتائج تحتوي على 0\

مثال

abcde xor c=ab

لان ناتج عملية

c xor c =00000000

وهي 0\ كود للتوضيح:

List Data=new List();
 List key = new List();
 List EncData=new List(); 
Data = StringData.ToCharArray().ToList(); 
key = Stringkey.ToCharArray().ToList(); 
int index = 0;
 foreach(char c in Data) { EncData.Add((char)((byte)c ^ (byte)key[index]));
 index++;
 if (index == key.Capacity) index = 0;
 } string s = new string (EncData,ToArray());
 return (s);

 

كيف احل هذه المشكلة لانني احتاج الى uعمل decryption بعد ذلك

شكرا

تم تعديل هذه المشاركة بواسطة ammarroza في 31 يناير 2013 في 10:15

#2

اخي انا مبتدئ , و لكن هناك طريقة للتحويل قد تفيدك

 

اذا كان المتغير الذي تريد تحويله إلى string هو s  فأكتب هذا :

 

Convert.ToString(s);

 

اتمنى ان افادتي قد افادتك :)

#3

إذا كنت تحول بيانات، ليست بنصوص، لنصّ فهذا خطأ، تلك البيانات قد تحتوي أصفار NULL أو حروف غير قابلة للطباعة. الحل أن تحول النتاج لـhex أو تقوم بترميز الناتج بـbase64 لأن هذه وظيفته، تحويل البيانات لنص ascii قابل للطباعة.

2
#4

شكرا اخواني على الرد

كلامك اخي Mr.B صحيح وطريقتك مفيده

اقوم بعمل xor بين  2lists of bytes   ولكن عندما اريد تخزينه في ملف text تظهر مشكلة الاصفار

فهل يوجد حل؟

شكرا

#5

زبطة معي

الطريقة

بعد عمل xor يكون بعض النتائج zero

اقوم بعمل decode for array

مشكلتي انني كنت اقوم بعمل decode لل textbox نفسه وهكذا لا استفيد شيئا

ف شكرا اخواني الاعزاء

مواضيع مشابهة