c#給自己寫的軟件加注冊碼功能_第1頁
c#給自己寫的軟件加注冊碼功能_第2頁
c#給自己寫的軟件加注冊碼功能_第3頁
c#給自己寫的軟件加注冊碼功能_第4頁
c#給自己寫的軟件加注冊碼功能_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C# 給自己寫的軟件,加注冊碼功能。為自己寫的程序加一個注冊功能吧。生成的機器號是根據 CPU 和硬盤號來的,根據自己的需求改成是否是隨 了。 using System;機生成。代碼直接粘貼到新建類覆蓋原代碼就能直接用using System.Management;using System.Security.Cryptography;using System.Text;namespace RegisterClassclass RegisterClass/步驟一 : 獲得 CUP 序列號和硬盤序列號的實現代碼如下 :/獲得 CPU 的序列號bool Stupids = true;bool Cat

2、 = false;public string getCpu()string strCpu = null;ManagementClass myCpu = newManagementClass(win32_Processor);ManagementObjectCollectionmyCpuConnection = myCpu.GetInstances();foreach( ManagementObject myObject inmyCpuConnection)strCpu =myObject.PropertiesProcessorid.Value.ToString();break;return s

3、trCpu;/取得設備硬盤的卷標號public string GetDiskVolumeSerialNumber()ManagementClass mc =newManagementClass(Win32_NetworkAdapterConfiguration);ManagementObject disk =newManagementObject(win32_logicaldisk.deviceid=c:);disk.Get();returndisk.GetPropertyValue(VolumeSerialNumber).ToString();/步驟二 : 收集硬件信息生成機器碼 , 代碼如

4、下 : /生成機器碼public string CreateCode()string temp = getCpu() +GetDiskVolumeSerialNumber();/ 獲得 24 位 Cpu 和硬盤序列號string strid = new string24;/ for (int i = 0; i 24; i+)/ 把字符賦給數組stridi = temp.Substring(i, 1);temp = ;/Random rdid = new Random();for (int i = 0; i 24; i+)/ 從數組隨機抽取 24 個字符組成新的字符生成機器三/temp += s

5、tridrdid.Next(0, 24);temp += stridi+3=24?0:i+3;return GetMd5(temp);/步驟三 : 使用機器碼生成軟件注冊碼 , 代碼如下 :/使用機器碼生成注冊碼public int intCode = new int127;/用于存密鑰public void setIntCode()/ 給數組賦值個小于 10 的隨機數/Random ra = new Random();/for (int i = 1; i intCode.Length;i+ )/ intCodei = ra.Next(0, 9);/for (int i = 1; i9 ? 0

6、 : i + 3;public int intNumber = new int25;/用于存機器碼的 Ascii 值public char Charcode = new char25;/存儲機器碼字/生成注冊碼 public string GetCode(string code)if (code != )/把機器碼存入數組中setIntCode();/ 初始化 127 位數組for (int i = 1; i / 把機器碼存入數組中Charcodei =Convert.ToChar(code.Substring(i - 1, 1);/for (int j = 1; j / 把字符的 ASCII

7、 值存入個整數組中。intNumberj =intCodeConvert.ToInt32(Charcodej) +Convert.ToInt32(Charcodej);string strAsciiName = null;/ 用于存儲機器碼for (int j = 1; j = 48 &intNumberj 57)strAsciiName +=Convert.ToChar(intNumberj).ToString();/判斷字符 ASCII 值是否 AZ 之間else if (intNumberj = 65 &intNumberj 90)strAsciiName +=Convert.ToCha

8、r(intNumberj).ToString();/判斷字符 ASCII 值是否 a z 之間else if (intNumberj = 97 &intNumberj 122)strAsciiName +=Convert.ToChar(intNumberj).ToString();else/ 判斷字符 ASCII 值不在以上范圍內if (intNumberj 122)/ 判斷字符 ASCII 值是否大于 zstrAsciiName +=Convert.ToChar(intNumberj - 10).ToString();elsestrAsciiName +=Convert.ToChar(int

9、Numberj - 9).ToString();/label3.Text = strAsciiName;/ 得到注冊碼return strAsciiName;elsereturnMH./步驟四 : 用戶輸入注冊碼注冊軟件 , 演示代碼如/注冊 public bool RegistIt(string currentCode,stringrealCode)if (realCode != )if(currentCode.TrimEnd().Equals(realCode.TrimEnd()Microsoft.Win32.RegistryKey retkeyMicrosoft.Win32.Regist

10、ry.CurrentUser.OpenSubKey(software,true).CreateSubKey(StupidsCat).CreateSubKey(StupidsCat.ini).CreateSubKey(currentCode.TrimEnd();retkey.SetValue(StupidsCat,BBC6D58D0953F027760A046D58D52786);retkey =Microsoft.Win32.Registry.LocalMachine.OpenSubKey(software,true).CreateSubKey(StupidsCat).CreateSubKey

11、(StupidsCat.ini).CreateSubKey(currentCode.TrimEnd();retkey.SetValue(StupidsCat,BBC6D58D0953F027760A046D58D52786);return Stupids;elseelse return Cat; public bool BoolRegist(string sn)string keynames; bool flag = false;Microsoft.Win32.RegistryKey localRegKey =Microsoft.Win32.Registry.LocalMachine;Micr

12、osoft.Win32.RegistryKey userRegKey =Microsoft.Win32.Registry.CurrentUser;trykeynames =localRegKey.OpenSubKey(softwareStupidsCatStupidsCat.ini + GetMd5(sn).GetValueNames();foreach (string name in keynames)if (name = StupidsCat)if(localRegKey.OpenSubKey(softwareStupidsCatStupid sCat.ini +GetMd5(sn).Ge

13、tValue(StupidsCat).ToString() = BBC6D58D0953F027760A046D58D52786)flag = true;keynames =userRegKey.OpenSubKey(softwareStupidsCatStupidsCat.ini + GetMd5(sn).GetValueNames();foreach (string name in keynames)if (name = StupidsCat)if (flag &userRegKey.OpenSubKey(softwareStupidsCatStupidsCat.ini + GetMd5(sn).GetValue(StupidsCat).ToString() = BBC6D58D0953F027760A046D58D52786)return true;return false;catchreturn false;finallylocalRegKey.Close();userRegKey.Close();public string GetMd5(object text)string path = text.ToString();MD5CryptoServiceProvider MD5Pro = new

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論