c# 给自己写的软件加注册码功能Word格式.docx

上传人:b****5 文档编号:19713064 上传时间:2023-01-09 格式:DOCX 页数:8 大小:16.10KB
下载 相关 举报
c# 给自己写的软件加注册码功能Word格式.docx_第1页
第1页 / 共8页
c# 给自己写的软件加注册码功能Word格式.docx_第2页
第2页 / 共8页
c# 给自己写的软件加注册码功能Word格式.docx_第3页
第3页 / 共8页
c# 给自己写的软件加注册码功能Word格式.docx_第4页
第4页 / 共8页
c# 给自己写的软件加注册码功能Word格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

c# 给自己写的软件加注册码功能Word格式.docx

《c# 给自己写的软件加注册码功能Word格式.docx》由会员分享,可在线阅读,更多相关《c# 给自己写的软件加注册码功能Word格式.docx(8页珍藏版)》请在冰豆网上搜索。

c# 给自己写的软件加注册码功能Word格式.docx

stringstrCpu=null;

ManagementClassmyCpu=newManagementClass("

win32_Processor"

);

ManagementObjectCollectionmyCpuConnection=myCpu.GetInstances();

foreach(ManagementObjectmyObjectinmyCpuConnection)

strCpu=myObject.Properties["

Processorid"

].Value.ToString();

break;

}

returnstrCpu;

//取得设备硬盘的卷标号

publicstringGetDiskVolumeSerialNumber()

ManagementClassmc=

newManagementClass("

Win32_NetworkAdapterConfiguration"

ManagementObjectdisk=

newManagementObject("

win32_logicaldisk.deviceid=\"

c:

\"

"

disk.Get();

returndisk.GetPropertyValue("

VolumeSerialNumber"

).ToString();

 

//步骤二:

收集硬件信息生成机器码,代码如下:

//生成机器码

publicstringCreateCode()

stringtemp=getCpu()+GetDiskVolumeSerialNumber();

//获得24位Cpu和硬盘序列号

string[]strid=newstring[24];

//

for(inti=0;

i24;

i++)//把字符赋给数组

strid[i]=temp.Substring(i,1);

temp="

;

//Randomrdid=newRandom();

i++)//从数组随机抽取24个字符组成新的字符生成机器三

//temp+=strid[rdid.Next(0,24)];

temp+=strid[i+3>

=24?

0:

i+3];

returnGetMd5(temp);

//步骤三:

使用机器码生成软件注册码,代码如下:

//使用机器码生成注册码

publicint[]intCode=newint[127];

//用于存密钥

publicvoidsetIntCode()//给数组赋值个小于10的随机数

//Randomra=newRandom();

//for(inti=1;

i<

intCode.Length;

i++)

//{

//intCode[i]=ra.Next(0,9);

//}

for(inti=1;

i9?

0:

i+3;

publicint[]intNumber=newint[25];

//用于存机器码的Ascii值

publicchar[]Charcode=newchar[25];

//存储机器码字

//生成注册码

publicstringGetCode(stringcode)

if(code!

="

//把机器码存入数组中

setIntCode();

//初始化127位数组

i//把机器码存入数组中

Charcode[i]=Convert.ToChar(code.Substring(i-1,1));

}//

for(intj=1;

j//把字符的ASCII值存入一个整数组中。

intNumber[j]=

intCode[Convert.ToInt32(Charcode[j])]+

Convert.ToInt32(Charcode[j]);

stringstrAsciiName=null;

//用于存储机器码

j<

intNumber.Length;

j++)

//MessageBox.Show((Convert.ToChar(intNumber[j])).ToString());

//判断字符ASCII值是否0-9之间

if(intNumber[j]>

=48&

&

intNumber[j]57)

strAsciiName+=Convert.ToChar(intNumber[j]).ToString();

//判断字符ASCII值是否A-Z之间

elseif(intNumber[j]>

=65&

intNumber[j]90)

//判断字符ASCII值是否a-z之间

=97&

intNumber[j]122)

else//判断字符ASCII值不在以上范围内

122)//判断字符ASCII值是否大于z

{

strAsciiName+=Convert.ToChar(intNumber[j]-10).ToString();

else

strAsciiName+=Convert.ToChar(intNumber[j]-9).ToString();

//label3.Text=strAsciiName;

//得到注册码

returnstrAsciiName;

return"

//步骤四:

用户输入注册码注册软件,演示代码如下:

//注册

publicboolRegistIt(stringcurrentCode,stringrealCode)

if(realCode!

if(currentCode.TrimEnd().Equals(realCode.TrimEnd()))

Microsoft.Win32.RegistryKeyretkey=

Microsoft.Win32.Registry.CurrentUser.

OpenSubKey("

software"

true).CreateSubKey("

StupidsCat"

).

CreateSubKey("

StupidsCat.ini"

CreateSubKey(currentCode.TrimEnd());

retkey.SetValue("

"

BBC6D58D0953F027760A046D58D52786"

retkey=Microsoft.Win32.Registry.LocalMachine.

returnStupids;

returnCat;

else{returnCat;

publicboolBoolRegist(stringsn)

string[]keynames;

boolflag=false;

Microsoft.Win32.RegistryKeylocalRegKey=Microsoft.Win32.Registry.LocalMachine;

Microsoft.Win32.RegistryKeyuserRegKey=Microsoft.Win32.Registry.CurrentUser;

try

keynames=localRegKey.OpenSubKey("

software\\StupidsCat\\StupidsCat.ini\\"

+GetMd5(sn)).GetValueNames();

foreach(stringnameinkeynames)

if(name=="

if(localRegKey.OpenSubKey("

+GetMd5(sn)).GetValue("

).ToString()=="

flag=true;

keynames=userRegKey.OpenSubKey("

if(flag&

userRegKey.OpenSubKey("

returntrue;

returnfalse;

catch

finally

localRegKey.Close();

userRegKey.Close();

publicstringGetMd5(objecttext)

stringpath=text.ToString();

MD5CryptoServiceProviderMD5Pro=newMD5CryptoServiceProvider();

Byte[]buffer=Encoding.GetEncoding("

utf-8"

).GetBytes(text.ToString());

Byte[]byteResult=MD5Pro.ComputeHash(buffer);

stringmd5result=BitConverter.ToString(byteResult).Replace("

-"

returnmd5result;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1