麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

簡述.Net下的應用程序授權實戰步驟

2019-11-17 04:27:40
字體:
來源:轉載
供稿:網友

  看了“看了下面那篇“Crack別人應用程序”的文章有感,簡述.Net下的應用程序授權。”,自己實際操作了把得出的心得  。這里原理啊背景啊什么都不介紹了,笑望人生已經在他的BLOG上都寫的相當清楚了,有什么不細節不明白的可以去看原文。推薦先大概看下原文,現看我下面的步驟,然后再回頭去研究原文的細節。由于我自己寫的實例是用在公司一項目中,源代碼就不方便放出來了,嘿嘿。
  第一步:生成一組公鑰和私鑰,公鑰用于你發布程序,私鑰屬于注冊碼生成。view plaincopy to clipboardPRint?
using(RSACryptoServiceProvider rsa = new  RSACryptoServiceProvider())   
{   
 // 公鑰   
 string pubkey = rsa.ToxmlString(false);   
   
 // 私鑰   
string prikey = rsa.ToXmlString(true);   
 
//如果是webForm就Response.Write(pubkey + ”<br/>” + prikey); 下  
//如果是winForm就MessageBox.Show("公鑰:" + pubkey + "/r/n私鑰:" + prikey); 下  

using(RSACryptoServiceProvider rsa = new  RSACryptoServiceProvider())
{
 // 公鑰
 string pubkey = rsa.ToXmlString(false);
 
 // 私鑰
string prikey = rsa.ToXmlString(true);

//如果是webForm就Response.Write(pubkey + ”<br/>” + prikey); 下
//如果是winForm就MessageBox.Show("公鑰:" + pubkey + "/r/n私鑰:" + prikey); 下
}  第二步:取得機器硬件編碼。我選用CUP的編號。view plaincopy to clipboardprint?
/// <summary>  
/// 獲取CPU編號  
/// </summary>  
/// <returns></returns>  
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;  
 

 /// <summary>
 /// 獲取CPU編號
 /// </summary>
 /// <returns></returns>
 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;

 }  第三步:編寫注冊碼生成WinForm程序,使用CUP的編號來生成注冊碼,當然你也可以用 WebForm來寫。view plaincopy to clipboardprint?
using(RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())   
{   
 rsa.FromXmlString(“私鑰”);   
 // 加密對象   
 RSAPKCS1SignatureFormatter f = new RSAPKCS1SignatureFormatter(rsa);   
 f.SetHashAlgorithm("SHA1");   
 byte[] source = System.Text.ASCIIEncoding.ASCII.GetBytes(“CUP的編號”);   
 SHA1Managed sha = new SHA1Managed();   
 byte[] result = sha.ComputeHash(source);   
   
 byte[] b = f.CreateSignature(result);   
   
msg.Text = Convert.ToBase64String(b); //這里就得到了string形式的注冊碼  
 
//再接下來你可以把生成的注冊碼保存成license.lic文件,license.lic文件也沒什么特別的格式就是相當于把注冊嗎保存到一個txt文件中,無非這個txt文件的后綴改成了lic,你要高興也可保存成其它多種格式。  
//也可以保存在注冊表中或是web.config中,總之能讓你的發布的應用程序能讀的到就行。  

using(RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
 rsa.FromXmlString(“私鑰”);
 // 加密對象
 RSAPKCS1SignatureFormatter f = new RSAPKCS1SignatureFormatter(rsa);
 f.SetHashAlgorithm("SHA1");
 byte[] source = System.Text.ASCIIEncoding.ASCII.GetBytes(“CUP的編號”);
 SHA1Managed sha = new SHA1Managed();
 byte[] result = sha.ComputeHash(source);
 
 byte[] b = f.CreateSignature(result);
 
msg.Text = Convert.ToBase64String(b); //這里就得到了string形式的注冊碼

//再接下來你可以把生成的注冊碼保存成license.lic文件,license.lic文件也沒什么特別的格式就是相當于把注冊嗎保存到一個txt文件中,無非這個txt文件的后綴改成了lic,你要高興也可保存成其它多種格式。
//也可以保存在注冊表中或是web.config中,總之能讓你的發布的應用程序能讀的到就行。
}  第四步:在發布的程序相關地方添加對注冊碼有效性的驗證。如添加在程序啟動的時候,程序執行特定操作的時候等等,總之看你的需要做有效性的驗證。view plaincopy to clipboardprint?
//相關注冊碼獲取代碼……  
//以下代碼是發布程序使用公鑰對注冊碼進行驗證  
using(RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())   
{   
 rsa.FromXmlString(“公鑰”);   
 RSAPKCS1SignatureDeformatter f = new RSAPKCS1SignatureDeformatter(rsa);   
   
 f.SetHashAlgorithm("SHA1");   
   
 byte[] key = Convert.FromBase64String(“注冊碼”);   
   
 SHA1Managed sha = new SHA1Managed();   
 byte[] name = sha.ComputeHash(ASCIIEncoding.ASCII.GetBytes(“注冊碼”));   
 if(f.VerifySignature(name,key))   
 msg.Text = "驗證成功"; //可以return true;等方式返回相應的狀態  
 else   
 msg.Text = "不成功";   
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级黄色在线观看 | 亚州精品国产 | 日本成人午夜视频 | 7777视频 | 国产毛片在线高清视频 | 久久影院免费观看 | 国产69精品久久久久孕妇黑 | 国产成人精品日本亚洲语音 | 成年人网站国产 | 手机黄色小视频 | 亚洲看片网 | 4480午夜| 久久久一区二区三区视频 | 一区二区三区四区高清视频 | 一级大片久久 | 粉嫩粉嫩一区二区三区在线播放 | 国产精品性夜天天视频 | 久久影片| 亚洲欧美一区二区三区在线观看 | 日本高清在线免费 | 日韩精品中文字幕在线观看 | 日本在线不卡一区二区 | 草草久久久 | 亚洲国产精品高潮呻吟久久 | 91精选视频 | 国产一级在线免费观看 | 超碰97人人艹 | 久久久精品99 | 日韩精品dvd | 久久亚洲国产午夜精品理论片 | 老女人碰碰在线碰碰视频 | av噜噜噜噜| 色呦呦一区二区三区 | 超碰99在线观看 | 国产一区二区三区色淫影院 | 色淫影院| 成人免费在线观看视频 | 免费a级观看 | 亚洲最新黄色网址 | 蜜桃久久一区二区三区 | 久久成人精品视频 |