资源简介
根据获取硬盘序列号和CPU序列号生成机器码,硬盘序列号和CPU序列号全球唯一,所以保证了机器码全球唯一
代码片段和文件信息
/*
* 功 能:获取机器码,实现注册功能,机器码是根据硬盘序列号和CPU序列号生成,硬盘序列号和CPU序列号全球唯一
*
* 时 间:2010/4/21 13:40:12
*
* 程序员:王文壮
*
* Q Q:1020304029
*
* 邮 箱:WangWenzhuang_net@163.com
*
* 博 客:http://blog.csdn.net/wangwenzhuang
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Management;
using System.Security.Cryptography;
namespace GetMachineCode
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void buttonGetHardDiskID_Click(object sender EventArgs e)
{
textBoxHardDiskID.Text = GetHardDiskID();
}
private void buttonGetCPUID_Click(object sender EventArgs e)
{
textBoxCPUID.Text = GetCPUID();
}
private void buttonRandomMachineCode_Click(object sender EventArgs e)
{
textBoxMachineCode.Text = GetSHA1MachineCode(textBoxHardDiskID.Text + textBoxCPUID.Text);
}
///获取磁盘序列号
///
/// 获取磁盘序列号
///
private string GetHardDiskID()
{
string hardDiskId = string.Empty;
try
{
ManagementobjectSearcher cmicWmi = new ManagementobjectSearcher(“SELECT * FROM Win32_DiskDrive“);
UInt32 tmpUint32 = 0;
foreach (Managementobject cmicWmiObj in cmicWmi.Get())
{
tmpUint32 = Convert.ToUInt32(cmicWmiObj[“signature“].ToString());
}
hardDiskId = tmpUint32.ToString();
}
catch { }
return hardDiskId;
}
///获取cpu序列号
///
/// 获取cpu序列号
///
private string GetCPUID()
{
string cpuId = string.Empty;
try
{
ManagementobjectSearcher Wmi = new ManagementobjectSearcher(“SELECT * FROM Win32_Processor“);
foreach (Managementobject WmiObj in Wmi.Get())
{
cpuId = WmiObj[“ProcessorId“].ToString();
}
}
catch { }
return cpuId;
}
///获取经过SHA1哈希之后的机器码
///
/// 获取经过SHA1哈希之后的机器码
///
private string GetSHA1MachineCode(string code)
{
byte[] buffer = Encoding.ASCII.GetBytes(code);
SHA1 sha1 = SHA1.Create();
return BitConverter.ToString(sha1.ComputeHash(buffer)).Replace(“-“ ““);
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11264 2010-04-21 13:39 GetMachineCode\GetMachineCode\bin\Debug\GetMachineCode.exe
文件 26112 2010-04-21 13:39 GetMachineCode\GetMachineCode\bin\Debug\GetMachineCode.pdb
文件 14328 2010-04-21 13:05 GetMachineCode\GetMachineCode\bin\Debug\GetMachineCode.vshost.exe
文件 490 2009-06-11 05:14 GetMachineCode\GetMachineCode\bin\Debug\GetMachineCode.vshost.exe.manifest
文件 22232 2005-10-14 02:45 GetMachineCode\GetMachineCode\bin\Debug\msmdvbanet.dll
文件 2972 2010-04-21 13:40 GetMachineCode\GetMachineCode\Form1.cs
文件 6893 2010-04-21 13:39 GetMachineCode\GetMachineCode\Form1.Designer.cs
文件 5814 2010-04-21 13:39 GetMachineCode\GetMachineCode\Form1.resx
文件 3869 2010-04-21 13:05 GetMachineCode\GetMachineCode\GetMachineCode.csproj
文件 712 2010-04-21 13:34 GetMachineCode\GetMachineCode\obj\Debug\GetMachineCode.csproj.FileListAbsolute.txt
文件 847 2010-04-21 13:39 GetMachineCode\GetMachineCode\obj\Debug\GetMachineCode.csproj.GenerateResource.Cache
文件 11264 2010-04-21 13:39 GetMachineCode\GetMachineCode\obj\Debug\GetMachineCode.exe
文件 180 2010-04-21 13:39 GetMachineCode\GetMachineCode\obj\Debug\GetMachineCode.Form1.resources
文件 26112 2010-04-21 13:39 GetMachineCode\GetMachineCode\obj\Debug\GetMachineCode.pdb
文件 180 2010-04-21 13:05 GetMachineCode\GetMachineCode\obj\Debug\GetMachineCode.Properties.Resources.resources
文件 8224 2010-04-21 13:04 GetMachineCode\GetMachineCode\obj\Debug\ResolveAssemblyReference.cache
文件 475 2010-04-21 13:05 GetMachineCode\GetMachineCode\Program.cs
文件 1360 2010-04-21 13:01 GetMachineCode\GetMachineCode\Properties\AssemblyInfo.cs
文件 2878 2010-04-21 13:01 GetMachineCode\GetMachineCode\Properties\Resources.Designer.cs
文件 5612 2010-04-21 13:01 GetMachineCode\GetMachineCode\Properties\Resources.resx
文件 1099 2010-04-21 13:01 GetMachineCode\GetMachineCode\Properties\Settings.Designer.cs
文件 249 2010-04-21 13:01 GetMachineCode\GetMachineCode\Properties\Settings.settings
文件 932 2010-04-21 13:02 GetMachineCode\GetMachineCode.sln
..A..H. 13312 2010-04-21 13:40 GetMachineCode\GetMachineCode.suo
目录 0 2010-04-21 13:15 GetMachineCode\GetMachineCode\obj\Debug\Refactor
目录 0 2010-04-21 13:02 GetMachineCode\GetMachineCode\obj\Debug\TempPE
目录 0 2010-04-21 13:07 GetMachineCode\GetMachineCode\bin\Debug
目录 0 2010-04-21 13:39 GetMachineCode\GetMachineCode\obj\Debug
目录 0 2010-04-21 13:01 GetMachineCode\GetMachineCode\bin
目录 0 2010-04-21 13:01 GetMachineCode\GetMachineCode\obj
............此处省略6个文件信息
- 上一篇:C#+SQLServer2000学生管理系统源代码
- 下一篇:unrate.csv
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论