zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#生成注册码的实例代码

c#实例代码 生成 注册码
2023-06-13 09:14:47 时间

复制代码代码如下:


stringt=DateTime.Now.Ticks.ToString();

           t=DESKey.DESEncrypt(t,DESKey.DesKeyStr);
           string[]strid=newstring[t.Length];//
           for(inti=0;i<t.Length;i++)//把字符赋给数组
           {
               strid[i]=t.Substring(i,1);
           }
           strings="";
           Randomrdid=newRandom();
           for(inti=0;i<9;i++)//从数组随机抽取字符组成新的字符生成机器三
           {
               s+=strid[rdid.Next(0,strid.Length)];
           }

复制代码代码如下:


classDESKey
   {
       publicconststringDesKeyStr="BLUE2013";

       #regionDES加密
       ///<summary>
       ///DES加密
       ///</summary>
       ///<paramname="pToEncrypt">需要加密的字符串</param>
       ///<returns>加密后的字符串</returns>
       publicstaticstringDESEncrypt(stringpToEncrypt,stringDesKeyStr)
       {
           try
           {
               DESCryptoServiceProviderdes=newDESCryptoServiceProvider();
               byte[]inputByteArray=Encoding.Default.GetBytes(pToEncrypt);
               des.Key=ASCIIEncoding.ASCII.GetBytes(DesKeyStr);
               des.IV=ASCIIEncoding.ASCII.GetBytes(DesKeyStr);
               MemoryStreamms=newMemoryStream();
               CryptoStreamcs=newCryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write);
               cs.Write(inputByteArray,0,inputByteArray.Length);
               cs.FlushFinalBlock();
               StringBuilderret=newStringBuilder();
               foreach(bytebinms.ToArray())
               {
                   ret.AppendFormat("{0:X2}",b);
               }
               ret.ToString();
               returnret.ToString();
           }
           catch
           {

               return"";
           }


       }
       #endregion

       #regionDES解密
       ///<summary>
       ///DES解密
       ///</summary>
       ///<paramname="pToDecrypt">加密后的字符串</param>
       ///<returns>解密后的字符串</returns>
       publicstaticstringDESDecrypt(stringpToDecrypt,stringDesKeyStr)
       {
           try
           {
               DESCryptoServiceProviderdes=newDESCryptoServiceProvider();

               byte[]inputByteArray=newbyte[pToDecrypt.Length/2];
               for(intx=0;x<pToDecrypt.Length/2;x++)
               {
                   inti=(Convert.ToInt32(pToDecrypt.Substring(x*2,2),16));
                   inputByteArray[x]=(byte)i;
               }

               des.Key=ASCIIEncoding.ASCII.GetBytes(DesKeyStr);
               des.IV=ASCIIEncoding.ASCII.GetBytes(DesKeyStr);
               MemoryStreamms=newMemoryStream();
               CryptoStreamcs=newCryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write);
               cs.Write(inputByteArray,0,inputByteArray.Length);
               cs.FlushFinalBlock();

               StringBuilderret=newStringBuilder();

               returnSystem.Text.Encoding.Default.GetString(ms.ToArray());
           }
           catch
           {

               return"";
           }
       }
       #endregion

 

   }