C\#하드디스크 번호,CPU 정보,암호 화 복호화 기술 을 가 져 오 는 절차
첫 번 째 단계:프로그램 이 실행 기의 유일한 표 시 를 받 았 습 니 다(예 를 들 어 네트워크 카드 번호,CPU 번호,하 드 디스크 번호 등).
두 번 째 단계:프로그램 이 얻 은 유일한 표 시 를 암호 화하 고 사용자 나 프로그램 이 암호 화 된 표 시 를 보 냅 니 다.
세 번 째 단계:암호 화 된 표 시 를 복호화 합 니 다.
네 번 째 단계:프로그램 은 당신 이 보 낸 등록 번 호 를 복호화 합 니 다.복호화 후의 번호 도 사실은 네트워크 카드 번호,CPU 번호,하 드 디스크 번호 입 니 다.
다섯 번 째 단계:프로그램 이 시 작 될 때마다 먼저 보 낸 등록 번 호 를 복호화 한 다음 에 네트워크 카드 번호,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 정보,암호 화 복호화 기술 의 절차 에 대한 상세 한 내용 입 니 다.C\#하 드 디스크 번호,CPU 정보,암호 화 복호화 기술 에 관 한 자 료 는 우리 의 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.