利用C#怎么获取硬盘和CPU信息
创始人
2024-12-28 19:02:41
0次

第一步:程序获得运行机的唯一标示:硬盘号,CPU信息

//获取硬盘号 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;   
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 "";
}

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

//加密  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;   
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 "无法解密!"; }
}

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...