lis84
21.03.2010, 16:59
Здравствуйте уважаемые россияне.
Я снова в эфире, и хотел бы у вас спросить насчёт небольшой такой штукенции.
Попалась мне программка, которую хотелось бы использовать, да жадная она, аж 30 баксов просит. Взялся я её ковырять, и наковырял такое.
собсно проверка ключа идёт тут:
byte[] buffer2 = Convert.FromBase64String(A_1);
RSACryptoServiceProvider provider2 = new RSACryptoServiceProvider();
provider2.FromXmlString(A_2);
return provider2.VerifyData(Encoding.Unicode.GetBytes(A_3 ), new SHA1CryptoServiceProvider(), buffer2);
При этом известны все параметры. А именно:
A_3 это xml структура, которую я могу повторить
buffer2==A_1=введённый серийный ключ
A_2 это строка == "<RSAKeyValue><Modulus>rCYsaw7Hof5LnwESHsGclpSfinn+lGkQ3gzxsG6zZTpsqV0mjm cLj12ny+zCfqu78LnwVvPR3TEigBXZHjwnZ9hji+4TSm/2IW+Ic8wTJcaAw2D6AnlQhcILszNd1p1Fxa1Mu1FyOgzWCqYtl WtkRaH0A3nMRDMrnUWahsDFZEU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
Вооот, подскажите, можно как то сгенерить true серийный ключ? А то я уже всю голову сломал, и яшку замучал, не могу адекватного описания найти к этим функциям.
Понял что VerifyData проверяет цифровую подпись, где A_3 собсно данные, а buffer2 (серийный ключ) это их подпись.
Но не смог понять, могу ли я сгенерить true подпись и как, вроде все данные в руках есть!
Я снова в эфире, и хотел бы у вас спросить насчёт небольшой такой штукенции.
Попалась мне программка, которую хотелось бы использовать, да жадная она, аж 30 баксов просит. Взялся я её ковырять, и наковырял такое.
собсно проверка ключа идёт тут:
byte[] buffer2 = Convert.FromBase64String(A_1);
RSACryptoServiceProvider provider2 = new RSACryptoServiceProvider();
provider2.FromXmlString(A_2);
return provider2.VerifyData(Encoding.Unicode.GetBytes(A_3 ), new SHA1CryptoServiceProvider(), buffer2);
При этом известны все параметры. А именно:
A_3 это xml структура, которую я могу повторить
buffer2==A_1=введённый серийный ключ
A_2 это строка == "<RSAKeyValue><Modulus>rCYsaw7Hof5LnwESHsGclpSfinn+lGkQ3gzxsG6zZTpsqV0mjm cLj12ny+zCfqu78LnwVvPR3TEigBXZHjwnZ9hji+4TSm/2IW+Ic8wTJcaAw2D6AnlQhcILszNd1p1Fxa1Mu1FyOgzWCqYtl WtkRaH0A3nMRDMrnUWahsDFZEU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
Вооот, подскажите, можно как то сгенерить true серийный ключ? А то я уже всю голову сломал, и яшку замучал, не могу адекватного описания найти к этим функциям.
Понял что VerifyData проверяет цифровую подпись, где A_3 собсно данные, а buffer2 (серийный ключ) это их подпись.
Но не смог понять, могу ли я сгенерить true подпись и как, вроде все данные в руках есть!