上一节我们已经得到注册码了,那把注册码发给用户后,怎么验证注册码呢?
其实,操作同样很简单。
第三步,验证注册码:
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
rsa.FromXmlString(pubkey);
RSAPKCS1SignatureDeformatter f = new RSAPKCS1SignatureDeformatter(rsa);
f.SetHashAlgorithm("SHA1");
byte[] key = Convert.FromBase64String(textBox注册码.Text.Trim());
SHA1Managed sha = new SHA1Managed();
byte[] name = sha.ComputeHash(ASCIIEncoding.ASCII.GetBytes(textBox硬件码.Text.Trim()));
if (f.VerifySignature(name, key))
this.Text = "验证成功";
else
this.Text = "不成功";
}
好了,操作过程就结束了,当然,这里我是把计算注册码的过程和验证注册码的过程放在一起的,在实际应用中,把公钥放在软件当中,然后用户根据软件得到硬件码,把硬件码发给软件作者,也就是你了,呵呵。你再根据私钥和硬件码计算注册码,再把注册码发给用户,用户得到注册码后,在软件中进行验证,通过验证的当然就是注册用户,可以使用软件的所有功能了,呵呵!