Software license key and activation

时间:2023-03-10 06:58:30
Software license key and activation

http://*.com/questions/16222674/software-license-key-and-activation
https://github.com/Labs64
http://www.codeproject.com/Articles/11012/License-Key-Generation
https://ellipter.com/
https://technet.microsoft.com/en-us/library/dd346641(v=ws.10).aspx
https://code.msdn.microsoft.com/windowsapps/Product-Key-Activation-to-16c92174/view/SourceCode
https://activatar.codeplex.com/
http://dotlicense.codeplex.com/
http://www.codeproject.com/Articles/15496/Application-Trial-Maker
http://www.c-sharpcorner.com/article/a-simple-approach-to-product-activation/
http://www.codeproject.com/Articles/35009/How-to-Generate-and-Validate-CD-Keys-for-your-Soft
https://licensekeygenerator.codeplex.com/

http://softwareprotector.codeplex.com/

http://skgl.codeplex.com/

http://dotlicense.codeplex.com/

Software license key and activation

public static class Activation
{ #region Redegit Key public static void MakeRegeditActivationCode()
{
Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Activation");
} public static string ReadRegeditKey()
{
try
{
RegistryKey myKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Activation", true);
return myKey.GetValue("ActivationCode").ToString();
}
catch
{
SetRegeditKeyValue("");
return null;
}
} public static void SetRegeditKeyValue(string value)
{
RegistryKey myKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Activation", true);
myKey.SetValue("ActivationCode", value, RegistryValueKind.String);
} #endregion #region Get Hardware Information public static string GetMacAddress()
{
string macAddresses = ""; foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
macAddresses = nic.GetPhysicalAddress().ToString();
break;
}
return macAddresses;
} public static string GetCpuId()
{
string cpuid = null;
try
{
ManagementObjectSearcher mo = new ManagementObjectSearcher("select * from Win32_Processor");
foreach (var item in mo.Get())
{
cpuid = item["ProcessorId"].ToString();
}
return cpuid;
}
catch
{
return null;
}
} #endregion #region Hash Function public static string MyCustomHash(string input)
{
System.Security.Cryptography.MD5CryptoServiceProvider x = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] bs = System.Text.Encoding.UTF32.GetBytes(input);
bs = x.ComputeHash(bs);
System.Text.StringBuilder s = new System.Text.StringBuilder();
int select = 1;
foreach (byte b in bs)
{
switch (select)
{
case 1:
s.Append(b.ToString("x4").ToLower());
break;
case 2:
s.Append(b.ToString("x3").ToLower());
break;
case 3:
s.Append(b.ToString("x2").ToLower());
break;
case 4:
s.Append(b.ToString("x1").ToLower());
break;
default:
break;
}
select++;
if (select > 4) select = 1;
}
string password = s.ToString();
return password;
} #endregion }