您现在的位置: 魅力都匀 >> 电脑教程 >> C#学习笔记 >> 正文
在C#中用RSA做共享软件之验证注册码
作者:蔡老师  文章来源:本站原创 点击数: 更新时间:2008-6-14 【字体:

  上一节我们已经得到注册码了,那把注册码发给用户后,怎么验证注册码呢?

  其实,操作同样很简单。

  第三步,验证注册码:

            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 = "不成功";
            }

  好了,操作过程就结束了,当然,这里我是把计算注册码的过程和验证注册码的过程放在一起的,在实际应用中,把公钥放在软件当中,然后用户根据软件得到硬件码,把硬件码发给软件作者,也就是你了,呵呵。你再根据私钥和硬件码计算注册码,再把注册码发给用户,用户得到注册码后,在软件中进行验证,通过验证的当然就是注册用户,可以使用软件的所有功能了,呵呵!

关于〖在C#中用RSA做共享软件之验证注册码〗的最新评论:
| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
黔ICP备06001794号