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

رسالة CryptographicException

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

I am receiving a CryptographicException stating "Bad Data" when attempting to decrypt data sent across the network encrypted using RSACryptoServiceProvider.

I receive no exceptions client side when attempting to send the data.

Client:

public byte[] ENC(string strdata, CspParameters prk)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(prk);
byte[] data = rsa.Encrypt(Encoding.Unicode.GetBytes(strdata),false);
MessageBox.Show(data.Length.ToString());/////test
return data;
}

void clint(byte[] data)
{
try
{
object op = (object)data;
BinaryFormatter br = new BinaryFormatter();
TcpClient myclient = new TcpClient("192.168.43.152", 7000);
NetworkStream myns = myclient.GetStream();
br.Serialize(myns, op);
myclient.Close();
}
catch (Exception e)
{
clint(data);
}
}

CspParameters cp = new CspParameters();
cp.KeyContainerName = "25522100";
string usb = ":RIO";
string Name = System.Environment.MachineName;
Name += usb;
mymsg = ENC(Name, cp);
clint(mymsg);

Server:

TcpListener mytcp = new TcpListener(7000);
mytcp.Start();
TcpSocket mysocket = mytcp.AcceptSocket();
NetworkStream myns = new NetworkStream(mysocket);
BinaryFormatter br = new BinaryFormatter();
object op;
op = br.Deserialize(myns);
byte[] data = (byte[])op;
CspParameters cp = new CspParameters();
cp.KeyContainerName = "25522100";
byte[] messge = DEC(data, cp);

public byte[] DEC(byte[] en_data, CspParameters key)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(key);
byte[] data1 = rsa.Decrypt(en_data, false);
return data1;
}

Why am I receiving this CryptographicException when attempting to decrypt the received data?

تم تعديل هذه المشاركة بواسطة maxsystem في 15 أكتوبر 2013 في 04:00

#2

what is the exception statment?  think that you did not set your IPAddress


the relativa set of tcpListner is like


// local IP address - you can change this...

System.Net.IPAddress serverAddress = System.Net.IPAddress.Parse("192.168.0.100"); // <-- Change that as appropriate!


// Start listening for connections on our IP address + Our Port number 

TcpListener listener = newTcpListener(serverAddress, Port);

listener.Start();

تم تعديل هذه المشاركة بواسطة eiado في 15 أكتوبر 2013 في 08:41

||***************************************************||


 ||بسم الله الذي لا يعلو على اسمه شيء في الارض ولا في السماء وهو العلي العظيم ||


||***************************************************||


 ||                             اللهم إن لم يكن بك غضب علي فلا ابالي                       ||


||***************************************************||


في المنتديات العلمية استخدام التقييم rep_up.png  rep_down.png  يرفع من قيمة الموضوع واهمية الرد

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