温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用C#怎么获取硬盘和CPU信息

发布时间:2021-01-18 15:11:19 来源:亿速云 阅读:167 作者:Leah 栏目:开发技术

这期内容当中小编将会给大家带来有关利用C#怎么获取硬盘和CPU信息,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

第一步:程序获得运行机的唯一标示:硬盘号,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 "";
}

第二步:程序将获得的唯一标示加密

//加密 <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);
}

第三步:你将加密后的标示解密(注册的时候解密)

//解密
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信息了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI