首页

软件注册以及授权的实现(基于md5/des的注册机)

c#

2020-9-5

用des和md5完成的注册机

【旧版本】v1.0:http://files.haolizi.net/2020/04/18/66/e/3/66e355d7b5667cbd9e84e4b030e62255_haolizi.7z?Expires=1587346898&OSSAccessKeyId=ACSs61ByY9RHfMIH&Signature=txck5dcMD1ARhW3yB1LDwfHtRj0=&response-content-disposition=attachment;%20filename*=UTF-8%27%27%25E5%25A5%25BD%25E4%25BE%258B%25E5%25AD%2590%25E7%25BD%2591_%25E6%25B3%25A8%25E5%2586%258C%25E6%259C%25BA.7z&sina.com/d_load.php

【软件更新】版本号1.1,已更正错位的md5,注册机md5生成机器码显示正常了,感谢提出!!!

首先 让客户提供他打开软件时看到的机器码,然后打开注册机输入机器码以及授权时间,点击生成注册码,如下图:

将生成的注册码,填写到 软件界面,软件就可以使用了,如下图:

using System;
using System.Text;
using System.Security.Cryptography;
using System.IO;

namespace Common
{
    public enum EncryptionKeyEnum
    {
        KeyA,
        KeyB
    }
    public class EncryptionHelper
    {
        string encryptionKeyA = "pfe_Nova";
        string encryptionKeyB = "WorkHard";
        string md5Begin = "Hello";
        string md5End = "World";
        string encryptionKey = string.Empty;
        public EncryptionHelper()
        {
            this.InitKey();
        }
        public EncryptionHelper(EncryptionKeyEnum key)
        {
            this.InitKey(key);
        }
        private void InitKey(EncryptionKeyEnum key = EncryptionKeyEnum.KeyA)
        {
            switch (key)
            {
                case EncryptionKeyEnum.KeyA:
                    encryptionKey = encryptionKeyA;
                    break;
                case EncryptionKeyEnum.KeyB:
                    encryptionKey = encryptionKeyB;
                    break;
            }
        }

        public string EncryptString(string str)
        {
            return Encrypt(str, encryptionKey);
        }
        public string DecryptString(string str)
        {
            return Decrypt(str, encryptionKey);
        }
        public string GetMD5String(string str)
        {
            str = string.Concat(md5Begin, str, md5End);
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] fromData = Encoding.Unicode.GetBytes(str);
            byte[] targetData = md5.ComputeHash(fromData);
            string md5String = string.Empty;
            foreach (var b in targetData)
                md5String  = b.ToString("x2");
            return md5String;
        }

        private string Encrypt(string str, string sKey)
        {
            DESCryptoServiceProvider des = new DESCryptoServiceProvider();
            byte[] inputByteArray = Encoding.Default.GetBytes(str);
            des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
            des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
            MemoryStream ms = new MemoryStream();
            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
            cs.Write(inputByteArray, 0, inputByteArray.Length);
            cs.FlushFinalBlock();
            StringBuilder ret = new StringBuilder();
            foreach (byte b in ms.ToArray())
            {
                ret.AppendFormat("{0:X2}", b);
            }
            ret.ToString();
            return ret.ToString();
        }
        private string Decrypt(string pToDecrypt, string sKey)
        {
      

                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
                for (int x = 0; x < pToDecrypt.Length / 2; x  )
                {
                    int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
                    inputByteArray[x] = (byte)i;
                }
                des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
                des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
                MemoryStream ms = new MemoryStream();
                CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
                cs.Write(inputByteArray, 0, inputByteArray.Length);
                cs.FlushFinalBlock();
                StringBuilder ret = new StringBuilder();
                return System.Text.Encoding.Default.GetString(ms.ToArray());

        }
    }
}
资源下载此资源下载价格为2D币(VIP免费),请先
资源文件列表
Readme.txt , 1053
╫ó▓ß╗·/.vs/RegistKey/v16/.suo , 50688
╫ó▓ß╗·/.vs/RegistKey/v16/Server/sqlite3/db.lock , 0
╫ó▓ß╗·/.vs/RegistKey/v16/Server/sqlite3/storage.ide , 479232
╫ó▓ß╗·/RegistKey/FormMain.Designer.cs , 7047
╫ó▓ß╗·/RegistKey/FormMain.cs , 1672
╫ó▓ß╗·/RegistKey/FormMain.resx , 5817
╫ó▓ß╗·/RegistKey/Program.cs , 488
╫ó▓ß╗·/RegistKey/Properties/AssemblyInfo.cs , 1470
╫ó▓ß╗·/RegistKey/Properties/AssemblyInfo_1.cs , 1470
╫ó▓ß╗·/RegistKey/Properties/Resources.Designer.cs , 2858
╫ó▓ß╗·/RegistKey/Properties/Resources.Designer_1.cs , 2856
╫ó▓ß╗·/RegistKey/Properties/Resources.resx , 5612
╫ó▓ß╗·/RegistKey/Properties/Resources_1.resx , 5612
╫ó▓ß╗·/RegistKey/Properties/Settings.Designer.cs , 1109
╫ó▓ß╗·/RegistKey/Properties/Settings.Designer_1.cs , 1100
╫ó▓ß╗·/RegistKey/Properties/Settings.settings , 249
╫ó▓ß╗·/RegistKey/Properties/Settings_1.settings , 249
╫ó▓ß╗·/RegistKey/RegistKey.csproj , 3616
╫ó▓ß╗·/RegistKey/bin/Debug/Common.dll , 10752
╫ó▓ß╗·/RegistKey/bin/Debug/Common.pdb , 28160
╫ó▓ß╗·/RegistKey/bin/Debug/RegistKey.exe , 10240
╫ó▓ß╗·/RegistKey/bin/Debug/RegistKey.pdb , 22016
╫ó▓ß╗·/RegistKey/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache , 745
╫ó▓ß╗·/RegistKey/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 6337
╫ó▓ß╗·/RegistKey/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput_1.cache , 5396
╫ó▓ß╗·/RegistKey/obj/x86/Debug/DesignTimeResolveAssemblyReferences_1.cache , 1229
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey.Properties.Resources.resources , 180
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey.csproj.CopyComplete , 0
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey.csproj.FileListAbsolute.txt , 2238
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey.csproj.GenerateResource.cache , 850
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey.csprojAssemblyReference.cache , 5031
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey.csprojResolveAssemblyReference.cache , 6405
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey.exe , 10240
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey.pdb , 22016
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.FormMain.resources , 180
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.FormMain_1.resources , 180
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.Properties.Resources.resources , 180
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.Properties.Resources_1.resources , 180
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.csproj.FileListAbsolute.txt , 2024
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.csproj.FileListAbsolute_1.txt , 871
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.csproj.GenerateResource.Cache , 978
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.csproj.GenerateResource_1.Cache , 978
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.csprojResolveAssemblyReference.cache , 5687
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.csprojResolveAssemblyReference_1.cache , 5665
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.exe , 10240
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918.pdb , 22016
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918_1.exe , 8704
╫ó▓ß╗·/RegistKey/obj/x86/Debug/RegistKey0918_1.pdb , 26112
╫ó▓ß╗·/RegistKey/obj/x86/Debug/TempPE/Properties.Resources.Designer.cs.dll , 4608
╫ó▓ß╗·/RegistKey/obj/x86/Release/DesignTimeResolveAssemblyReferences.cache , 1229
╫ó▓ß╗·/RegistKey/obj/x86/Release/DesignTimeResolveAssemblyReferencesInput.cache , 5432
╫ó▓ß╗·/RegistKey/obj/x86/Release/DesignTimeResolveAssemblyReferencesInput_1.cache , 5432
╫ó▓ß╗·/RegistKey/obj/x86/Release/DesignTimeResolveAssemblyReferences_1.cache , 1229
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.FormMain.resources , 180
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.FormMain_1.resources , 180
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.Properties.Resources.resources , 180
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.Properties.Resources_1.resources , 180
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.csproj.FileListAbsolute.txt , 1802
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.csproj.FileListAbsolute_1.txt , 1802
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.csproj.GenerateResource.Cache , 978
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.csproj.GenerateResource_1.Cache , 978
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.csprojResolveAssemblyReference.cache , 5699
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.csprojResolveAssemblyReference_1.cache , 5699
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.exe , 8704
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918.pdb , 19968
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918_1.exe , 8704
╫ó▓ß╗·/RegistKey/obj/x86/Release/RegistKey0918_1.pdb , 19968
╫ó▓ß╗·/RegistKey.sln , 869
╫ó▓ß╗·/RegistKey.suo , 15360
╫ó▓ß╗·/RegistKey0918.suo , 15360
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/.vs/Common/config/applicationhost.config , 83608
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/.vs/Common/v16/.suo , 40960
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/.vs/Common/v16/Server/sqlite3/db.lock , 0
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/.vs/Common/v16/Server/sqlite3/storage.ide , 1503232
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/Common.csproj , 2342
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/Common.suo , 15872
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/ComputerInfo.cs , 4150
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/EncryptionHelper.cs , 3627
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/Properties/AssemblyInfo.cs , 1456
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/RegistFileHelper.cs , 1816
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/UTool.cs , 2809
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/bin/Debug/Common.dll , 10752
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/bin/Debug/Common.pdb , 28160
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/obj/Debug/Common.csproj.FileListAbsolute.txt , 1695
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/obj/Debug/Common.csprojAssemblyReference.cache , 1199
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/obj/Debug/Common.csprojResolveAssemblyReference.cache , 1227
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/obj/Debug/Common.dll , 10752
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/obj/Debug/Common.pdb , 28160
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 5222
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/obj/Release/Common.csproj.FileListAbsolute.txt , 520
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/obj/Release/Common.dll , 9216
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/obj/Release/Common.pdb , 24064
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache , 5110
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common.sln , 908
╫ó▓ß╗·╦π╖¿╝░╣ñ╛▀/Common.suo , 13312
╚φ╝■/.vs/RegistSoft/v16/.suo , 45056
╚φ╝■/.vs/RegistSoft/v16/Server/sqlite3/db.lock , 0
╚φ╝■/.vs/RegistSoft/v16/Server/sqlite3/storage.ide , 475136
╚φ╝■/RegistSoft/Form1.Designer.cs , 2506
╚φ╝■/RegistSoft/Form1.cs , 643
╚φ╝■/RegistSoft/Form1.resx , 5817
╚φ╝■/RegistSoft/FormMain.Designer.cs , 5980
╚φ╝■/RegistSoft/FormMain.cs , 1827
╚φ╝■/RegistSoft/FormMain.resx , 5817
╚φ╝■/RegistSoft/Program.cs , 1189
╚φ╝■/RegistSoft/Properties/AssemblyInfo.cs , 1472
╚φ╝■/RegistSoft/Properties/AssemblyInfo_1.cs , 1472
╚φ╝■/RegistSoft/Properties/Resources.Designer.cs , 2860
╚φ╝■/RegistSoft/Properties/Resources.Designer_1.cs , 2858
╚φ╝■/RegistSoft/Properties/Resources.resx , 5612
╚φ╝■/RegistSoft/Properties/Resources_1.resx , 5612
╚φ╝■/RegistSoft/Properties/Settings.Designer.cs , 1110
╚φ╝■/RegistSoft/Properties/Settings.Designer_1.cs , 1101
╚φ╝■/RegistSoft/Properties/Settings.settings , 249
╚φ╝■/RegistSoft/Properties/Settings_1.settings , 249
╚φ╝■/RegistSoft/RegistSoft.csproj , 4032
╚φ╝■/RegistSoft/RegistSoft0918.suo , 37376
╚φ╝■/RegistSoft/RegistSoft0918_1.suo , 37376
╚φ╝■/RegistSoft/bin/Debug/Common.dll , 10752
╚φ╝■/RegistSoft/bin/Debug/Common.pdb , 28160
╚φ╝■/RegistSoft/bin/Debug/RegistInfo.key , 160
╚φ╝■/RegistSoft/bin/Debug/RegistSoft.exe , 11776
╚φ╝■/RegistSoft/bin/Debug/RegistSoft.pdb , 26112
╚φ╝■/RegistSoft/bin/Debug/RegistSoft.vshost.exe , 11608
╚φ╝■/RegistSoft/bin/Debug/RegistSoft.vshost.exe.manifest , 490
╚φ╝■/RegistSoft/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache , 745
╚φ╝■/RegistSoft/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 6331
╚φ╝■/RegistSoft/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput_1.cache , 5390
╚φ╝■/RegistSoft/obj/x86/Debug/DesignTimeResolveAssemblyReferences_1.cache , 1229
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft.Properties.Resources.resources , 180
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft.csproj.CopyComplete , 0
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft.csproj.FileListAbsolute.txt , 2959
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft.csproj.GenerateResource.cache , 774
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft.csprojAssemblyReference.cache , 27743
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft.csprojResolveAssemblyReference.cache , 6405
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft.exe , 11776
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft.pdb , 26112
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.Form1.resources , 180
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.FormMain.resources , 180
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.FormMain_1.resources , 180
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.Properties.Resources.resources , 180
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.Properties.Resources_1.resources , 180
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.csproj.FileListAbsolute.txt , 2666
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.csproj.FileListAbsolute_1.txt , 859
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.csproj.GenerateResource.Cache , 1036
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.csproj.GenerateResource_1.Cache , 978
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.csprojResolveAssemblyReference.cache , 8397
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.csprojResolveAssemblyReference_1.cache , 5665
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918.pdb , 34304
╚φ╝■/RegistSoft/obj/x86/Debug/RegistSoft0918_1.exe , 10240
最多只能显示150条信息!
没有账号? 忘记密码?

社交账号快速登录