Показать сообщение отдельно

.net, RSA, и серийный номер.
  #1  
Старый 21.03.2010, 16:59
lis84
Познающий
Регистрация: 28.04.2009
Сообщений: 61
Провел на форуме:
103259

Репутация: 37
По умолчанию .net, RSA, и серийный номер.

Здравствуйте уважаемые россияне.
Я снова в эфире, и хотел бы у вас спросить насчёт небольшой такой штукенции.

Попалась мне программка, которую хотелось бы использовать, да жадная она, аж 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 +lGkQ3gzxsG6zZTpsqV0mjmcLj12ny+zCfqu78LnwVvPR3TEig BXZHjwnZ9hji+4TSm/2IW+Ic8wTJcaAw2D6AnlQhcILszNd1p1Fxa1Mu1FyOgzWCqYtl WtkRaH0A3nMRDMrnUWahsDFZEU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";


Вооот, подскажите, можно как то сгенерить true серийный ключ? А то я уже всю голову сломал, и яшку замучал, не могу адекватного описания найти к этим функциям.
Понял что VerifyData проверяет цифровую подпись, где A_3 собсно данные, а buffer2 (серийный ключ) это их подпись.

Но не смог понять, могу ли я сгенерить true подпись и как, вроде все данные в руках есть!
 
Ответить с цитированием