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

  用C#做共享软件其实问题很多,不过所有的问题都会慢慢解决的,呵呵!

  ——————————————————————————————————

  RSA作为一种非对称的加解密算法,在共享软件中经常用于软件的注册码的计算之类的,不过这几天在网上找了很久,都没有找到合适的文章,好不容易研究出来了(其实是我能力问题,呵呵),放出来,希望能够给有需要的朋友提供一点小小的帮助!

 先看界面,很简单,就是实现一个由硬件码计算注册码的方法!

  
  开始之前,请加上 using System.Security.Cryptography; 这个命名空间的引用!

  第一步,获取公钥和私钥。

  相关代码如下:

         using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
            {
                // 公钥
                pubkey = rsa.ToXmlString(false);
                // 私钥
                prikey = rsa.ToXmlString(true);
            }

  这里 pubkey 和 prikey 分别是两个程序集变量(不知道在C#应该怎么说,呵呵)!

  这里大家注意一下,如果这样的话,每一次的公钥和私钥可都是不一样的,呵呵,第一次生成后,应该把它提出来,然后保存下来,下一次就不要再这样取了,我这里只是演示一下而已,呵呵!

  第二步,计算注册码:

            using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
            {
                rsa.FromXmlString(prikey);
                // 加密对象
                RSAPKCS1SignatureFormatter f = new RSAPKCS1SignatureFormatter(rsa);
                f.SetHashAlgorithm("SHA1");
                byte[] source = System.Text.ASCIIEncoding.ASCII.GetBytes(textBox硬件码.Text.Trim());
                SHA1Managed sha = new SHA1Managed();
                byte[] result = sha.ComputeHash(source);

                byte[] b = f.CreateSignature(result);
                textBox注册码.Text = Convert.ToBase64String(b);
            }

  相信这些代码对高手没什么好说的,用菜鸟也没有什么好说的,直接复制就可以用了,呵呵!



  • 上一篇文章:

  • 下一篇文章:
  • 收藏到QQ书签
    发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    关于〖在C#中用RSA做共享软件之计算注册码〗的最新评论:
     
    栏目导航  
    栏目更新推荐  
    ·在C#中使用MaxtoCode混淆器图解教程
    ·在C#中用RSA做共享软件之验证注册码
    ·在C#中用RSA做共享软件之计算注册码
    ·C#中获取汉字的拼音类完整代码
    ·C#连接MSSQL数据库
    ·C#连接有密码的ACCESS数据库
    ·在C#中使用Oledb连接ACCESS数据库
    ·在C#中操作INI文件
    相关文章  

    在C#中使用MaxtoCode混淆器图解教程
    在C#中用RSA做共享软件之验证注册码
    C#中获取汉字的拼音类完整代码
    C#连接MSSQL数据库
    C#连接有密码的ACCESS数据库
    在C#中使用Oledb连接ACCESS数据库
    在C#中操作INI文件
    在C#中使用region收缩代码块
    给Microsoft Visual C#编辑器加上行号…
    C#中左键弹出菜单功能的实现
    RAS算法中公钥私钥公共模数的制作

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
    黔ICP备06001794号