mortezasar
جمعه 10 اردیبهشت 1395, 17:51 عصر
سلام دوستان دارم یک رشته که رمز گشایی شده رو رمز نگاری میکنم اما با ارور bad data روبرو می شم اگه میشه راهنمایی کنید ممنون
var str2 = "<RSAKeyValue><Modulus>/QT0/cmbcv,bmvcbCBCVBfgldkfl=</Modulus><Exponent>AQAB</Exponent><P>fkjgfgkfgjkdfgjdkf,vmbcb.deorwpr+WFIRqQ==</P><Q>5zxGLBtAor3qhTIjvac7mH2eskw997lSXBxl7Mycn4RvCmCFt/+xcjvkfjkfdgjkfgjdkf,vmbc,bmc,vbmcv,b==</Q><DP>nuzXu6o3V0KVK,cvmbc,vbmvc,bmcvb,vmbkghfgjhgkfhjgkh jfgkgfiotieorieroGr76FTu24+HNuQ==</DP><DQ>vtNbBaMn4CXimDEclbKg1+MzR+cv,bm,cvbm,vbmcv,bmvb,cv bg;hfghl;fgblg;oepoterptoeprtof;glf;gl+ijGyRTEF97M Gde8E=</D></RSAKeyValue>";
RSACryptoServiceProvider provider = new RSACryptoServiceProvider();
provider.FromXmlString(str2.ToString());
using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
using (var key = hklm.OpenSubKey(@"Software\MYAPP"))
{
try
{
byte[] stt= (byte[])key.GetValue("ID");
byte[] buffer2 = (byte[])key.GetValue("USER");
byte[] buffer3 = (byte[])key.GetValue("Pass");
byte[] bytes = provider.Decrypt(stt, false); // bad data ارور
string str3 = Encoding.UTF8.GetString(bytes);
byte[] buffer5 = provider.Decrypt(buffer2, false);
string str4 = Encoding.UTF8.GetString(buffer5);
byte[] buffer6 = provider.Decrypt(buffer3, false);
string str5 = Encoding.UTF8.GetString(buffer6);
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
توضیح اینکه در این جا من کلید رو تغییر دادم که کلیدم مشخص نشه اما خودم از کلید درست استفاده می کنم
var str2 = "<RSAKeyValue><Modulus>/QT0/cmbcv,bmvcbCBCVBfgldkfl=</Modulus><Exponent>AQAB</Exponent><P>fkjgfgkfgjkdfgjdkf,vmbcb.deorwpr+WFIRqQ==</P><Q>5zxGLBtAor3qhTIjvac7mH2eskw997lSXBxl7Mycn4RvCmCFt/+xcjvkfjkfdgjkfgjdkf,vmbc,bmc,vbmcv,b==</Q><DP>nuzXu6o3V0KVK,cvmbc,vbmvc,bmcvb,vmbkghfgjhgkfhjgkh jfgkgfiotieorieroGr76FTu24+HNuQ==</DP><DQ>vtNbBaMn4CXimDEclbKg1+MzR+cv,bm,cvbm,vbmcv,bmvb,cv bg;hfghl;fgblg;oepoterptoeprtof;glf;gl+ijGyRTEF97M Gde8E=</D></RSAKeyValue>";
RSACryptoServiceProvider provider = new RSACryptoServiceProvider();
provider.FromXmlString(str2.ToString());
using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
using (var key = hklm.OpenSubKey(@"Software\MYAPP"))
{
try
{
byte[] stt= (byte[])key.GetValue("ID");
byte[] buffer2 = (byte[])key.GetValue("USER");
byte[] buffer3 = (byte[])key.GetValue("Pass");
byte[] bytes = provider.Decrypt(stt, false); // bad data ارور
string str3 = Encoding.UTF8.GetString(bytes);
byte[] buffer5 = provider.Decrypt(buffer2, false);
string str4 = Encoding.UTF8.GetString(buffer5);
byte[] buffer6 = provider.Decrypt(buffer3, false);
string str5 = Encoding.UTF8.GetString(buffer6);
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
توضیح اینکه در این جا من کلید رو تغییر دادم که کلیدم مشخص نشه اما خودم از کلید درست استفاده می کنم