• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#软件注册码相关(我做的小程序)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

这是一个自己做的关于C#软件注册码小程序的代码(略去了窗体代码)

 

下图是小程序截图

 

 

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.Configuration;

using System.IO;

using System.Security.Cryptography;

using System.Management;

 

 

 

 

 

 

 

 

 

namespace Messagebox

{

    /// <summary>

    /// Form1 的摘要说明。

    /// </summary>

    public class Form1 : System.Windows.Forms.Form

    {

        private System.Windows.Forms.Button button1;

        private System.Windows.Forms.TextBox textBox1;

        private Button button2;

        private Button button3;

        private Button button4;

        /// <summary>

        /// 必需的设计器变量。

        /// </summary>

        private System.ComponentModel.Container components = null;

 

        public Form1()

        {

            //

            // Windows 窗体设计器支持所必需的

            //

            InitializeComponent();

 

            //

            // TODO: 在InitializeComponent 调用后添加任何构造函数代码

            //

        }

 

        /// <summary>

        /// 清理所有正在使用的资源。

        /// </summary>

        protected override void Dispose(bool disposing)

        {

            if (disposing)

            {

                if (components != null)

                {

                    components.Dispose();

                }

            }

            base.Dispose(disposing);

        }

 

 

        /// <summary>

        /// 应用程序的主入口点。

        /// </summary>

        [STAThread]

        static void Main()

        {

            Application.Run(new Form1());

        }

 

        private void button1_Click(object sender, System.EventArgs e)

        {

            Hasher hash = new Hasher();

 

            textBox1 .Text = hash.hashGetDriveID().ToString();

 

        }

 

        private void button2_Click(object sender, EventArgs e)

        {

            Hasher shit = new Hasher ();

            textBox1.Text = shit.Sern();

        }

 

        private void button3_Click(object sender, EventArgs e)

        {

           Hasher shit = new Hasher ();

           textBox1.Text = shit.GetDriveID();

        }

 

        private void button4_Click(object sender, EventArgs e)

        {

             Hasher shit = new Hasher ();

             textBox1.Text = shit.GetCpuID();

        }

 

 

 

 

    }

 

 

    public class Hasher

    {

 

 

 

        public string _HashText; //待加密的字符串

 

        // public Hasher()

 

        // {

 

        // }

 

 

 

 

 

        // 需要产生加密哈希的字符串

 

        public string HashText

        {

 

            set

            {

 

                _HashText = value;

 

            }

 

            get

            {

 

                return _HashText;

 

            }

 

        }

 

 

 

        /// 使用MD5CryptoServiceProvider类产生哈希值。不需要提供密钥。

 

        /// </summary>

 

        /// <returns></returns>

 

        public string MD5Hasher()

        {

 

            byte[] MD5Data = System.Text.Encoding.UTF8.GetBytes(HashText);

 

 

 

            MD5 Md5 = new MD5CryptoServiceProvider();

 

 

 

            byte[] Result = Md5.ComputeHash(MD5Data);

 

 

 

            return Convert.ToBase64String(Result); //返回长度为字节字符串

 

        }

 

 

 

 

 

        //获取cpu序列号

 

        public String GetCpuID()

        {

 

            ManagementClass mc = new ManagementClass("Win32_Processor");

 

            ManagementObjectCollection moc = mc.GetInstances();

 

 

 

            String strCpuID = null;

 

            foreach (ManagementObject mo in moc)

            {

 

                strCpuID = mo.Properties["ProcessorId"].Value.ToString();

 

                break;

 

            }

 

            return strCpuID;

 

        }//end method

 

        //获取硬盘序列号

 

        public String GetDriveID()

        {

 ManagementObject mo = new ManagementObject("win32_LogicalDisk.device);

            mo.Get();

            return mo.GetPropertyValue("VolumeSerialNumber").ToString();

 

 

 

        }

 

 

 

        public String strJia()

       {

 

            string strJiami = "";

 

            strJiami = GetCpuID() + GetDriveID();

 

 

 

            return strJiami;

 

        }

 

        public string jiqixuelie;

 

        public string duijiqima = null;

 

        ///得到机器码

 

        public string hashGetDriveID()

        {

 

            Hasher hs = new Hasher();

 

 

 

            hs.HashText = hs.strJia();

 

            string jiqi = hs.MD5Hasher();

 

            duijiqima = jiqi.Substring(8, 5);

 

            return duijiqima;

 

        }

 

 

 

        public string Sern()

 

        //最终的序列号//m为配置文件值

 

        //x为序列号值

 

        //css进行比较该注册码是否正确

        {

 

 

 

 

 

            //获取机器码

 

            Hasher hs = new Hasher();

 

 

 

            //获取序列号

 

            Hasher hash = new Hasher();

 

            hash.HashText = hs.hashGetDriveID().ToString();

 

            jiqixuelie = hash.MD5Hasher();

 

            return jiqixuelie;

 

 

        }

 

 

 

    }

}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++&amp;&amp;C#函数的递归调用发布时间:2022-07-10
下一篇:
C# 校验帮助类-正则表达式发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap