亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C# 獲取硬盤號,CPU信息,加密解密技術(shù)的步驟

 更新時間:2021年01月16日 10:30:51   作者:風(fēng)云SH變幻  
這篇文章主要介紹了C# 獲取硬盤號,CPU信息,加密解密技術(shù)的步驟,幫助大家更好的理解和學(xué)習(xí)c#,感興趣的朋友可以了解下

在我們編寫好一款軟件后,我們不想別人盜用我們的軟件,這時候我們可以采用注冊的方式來保護(hù)我們的作品。這時候我們可能就需要簡單了解一下加密解密技術(shù),下面是我的簡單總結(jié):
第一步:程序獲得運(yùn)行機(jī)的唯一標(biāo)示(比如:網(wǎng)卡號,CPU編號,硬盤號等等)。
第二步:程序?qū)@得的唯一標(biāo)示加密,然后有用戶或者程序?qū)⒓用芎蟮臉?biāo)示發(fā)送給你。
第三步:你將加密后的標(biāo)示解密(其實(shí)這時候你獲得的就是:網(wǎng)卡號,CPU編號,硬盤號)然后你再將網(wǎng)卡號,CPU編號,硬盤號加密發(fā)送給客戶注冊。
第四步:程序?qū)⒛惆l(fā)送的注冊號進(jìn)行解密,解密后的編號其實(shí)也是:網(wǎng)卡號,CPU編號,硬盤號。
第五步:每當(dāng)程序啟動,首先解密你發(fā)送的注冊號,然后讀取網(wǎng)卡號,CPU編號,硬盤號等等,最好進(jìn)行驗(yàn)證,看兩個標(biāo)示是否一樣。
具體實(shí)例看代碼:

第一步:程序獲得運(yùn)行機(jī)的唯一標(biāo)示:硬盤號,CPU信息

//獲取硬盤號<script type="text/JavaScript"> alimama_pid="mm_10249644_1605763_5018464"; alimama_type="f"; alimama_sizecode ="tl_1x1_8"; alimama_fontsize=12; alimama_bordercolor="FFFFFF"; alimama_bgcolor="FFFFFF"; alimama_titlecolor="0000FF"; alimama_underline=0; alimama_height=22; alimama_width=0; </script> <script src="http://a.alimama.cn/inf.js" type=text/javascript> </script>
private string GetDiskID()
{  
 try
 {
  //獲取硬盤ID
  String HDid = "";
  ManagementClass mc = new ManagementClass("Win32_DiskDrive");
  ManagementObjectCollection moc = mc.GetInstances();
  foreach (ManagementObject mo in moc)
  {
   HDid = (string)mo.Properties["Model"].Value;
  }
  moc = null;
  mc = null;
  return HDid;
 }
 catch
 {
  return "";
 }
 finally
 {
 }
}

//獲取CPU信息
private string GetCpuInfo()
{
 try
 {
  string cpuInfo = "";//cpu序列號
  ManagementClass cimobject = new ManagementClass("Win32_Processor");
  ManagementObjectCollection moc = cimobject.GetInstances();
  foreach (ManagementObject mo in moc)
  {
   cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
  }
  return cpuInfo;
 }
 catch
 {
  this.senRegeditID.Enabled = false;
  this.GetId.Enabled = true;
 }
 return "";
}

第二步:程序?qū)@得的唯一標(biāo)示加密

//加密 <script type="text/JavaScript"> alimama_pid="mm_10249644_1605763_5027492"; alimama_type="f"; alimama_sizecode ="tl_1x5_8"; alimama_fontsize=12; alimama_bordercolor="FFFFFF"; alimama_bgcolor="FFFFFF"; alimama_titlecolor="0000FF"; alimama_underline=0; alimama_height=22; alimama_width=0; </script> <script src="http://a.alimama.cn/inf.js" type=text/javascript> </script>
static public string Encrypt(string PlainText)
{
 string KEY_64 = "dafei250";
 string IV_64 = "DAFEI500";
 byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
 byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
 DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
 int i = cryptoProvider.KeySize;
 MemoryStream ms = new MemoryStream();
 CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write);
 StreamWriter sw = new StreamWriter(cst);
 sw.Write(PlainText);
 sw.Flush();
 cst.FlushFinalBlock();
 sw.Flush();
 return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
}

第三步:你將加密后的標(biāo)示解密(注冊的時候解密)

//解密
public static string Decrypt(string CypherText)
{
 string KEY_64 = "haeren55"; //必須是8個字符(64Bit)
 string IV_64 = "HAEREN55"; //必須8個字符(64Bit)
 try
 {
  byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
  byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
  byte[] byEnc;
  try
  {
   byEnc = Convert.FromBase64String(CypherText);
  }
  catch
  {
   return null;
  }
  DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
  MemoryStream ms = new MemoryStream(byEnc);
  CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read);
  StreamReader sr = new StreamReader(cst);
  return sr.ReadToEnd();
 }
 catch { return "無法解密!"; }
}

以上就是C# 獲取硬盤號,CPU信息,加密解密技術(shù)的步驟的詳細(xì)內(nèi)容,更多關(guān)于C# 獲取硬盤號,CPU信息,加密解密技術(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#使用Selenium的實(shí)現(xiàn)代碼

    C#使用Selenium的實(shí)現(xiàn)代碼

    這篇文章主要介紹了C#使用Selenium的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • C#如何Task執(zhí)行任務(wù),等待任務(wù)完成

    C#如何Task執(zhí)行任務(wù),等待任務(wù)完成

    這篇文章主要介紹了C#如何Task執(zhí)行任務(wù),等待任務(wù)完成,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • c# Bitmap轉(zhuǎn)bitmapImage高效方法

    c# Bitmap轉(zhuǎn)bitmapImage高效方法

    本文主要介紹了c# Bitmap轉(zhuǎn)bitmapImage高效方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C# DES加密算法中向量的作用詳細(xì)解析

    C# DES加密算法中向量的作用詳細(xì)解析

    以下是對C#中DES加密算法中向量的作用進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下
    2013-09-09
  • .NET使用IResourceMonitor實(shí)現(xiàn)獲取資源信息

    .NET使用IResourceMonitor實(shí)現(xiàn)獲取資源信息

    在 Microsoft.Extensions.Diagnostics.ResourceMonitoring 包提供了一系列定制 API,專用于監(jiān)視 .NET 應(yīng)用程序的資源利用率,本文將利用IResourceMonitor來實(shí)現(xiàn)獲取資源狀態(tài)信息,感興趣的可以了解下
    2024-01-01
  • C#中API調(diào)用的多種方法

    C#中API調(diào)用的多種方法

    今天通過本文給大家分享C#中API調(diào)用的多種方法,通過API進(jìn)行解析掃入的二維碼,實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-09-09
  • C# Form自定義光標(biāo)的簡單實(shí)現(xiàn)

    C# Form自定義光標(biāo)的簡單實(shí)現(xiàn)

    這篇文章主要介紹了C# Form自定義光標(biāo)的簡單實(shí)現(xiàn),有需要的朋友可以參考一下
    2014-01-01
  • C#中String和StringBuilder的簡介與區(qū)別

    C#中String和StringBuilder的簡介與區(qū)別

    今天小編就為大家分享一篇關(guān)于C#中String和StringBuilder的簡介與區(qū)別,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Unity UI實(shí)現(xiàn)循環(huán)播放序列圖

    Unity UI實(shí)現(xiàn)循環(huán)播放序列圖

    這篇文章主要為大家詳細(xì)介紹了Unity UI實(shí)現(xiàn)循環(huán)播放序列圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C#實(shí)現(xiàn)對象XML序列化的方法

    C#實(shí)現(xiàn)對象XML序列化的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)對象XML序列化的方法,是C#常見的實(shí)用技巧,需要的朋友可以參考下
    2014-11-11

最新評論