源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-12-29 20:22 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#生成注册码的实例代码
[u]复制代码[/u] 代码如下:
string t = DateTime.Now.Ticks.ToString();             t = DESKey.DESEncrypt(t, DESKey.DesKeyStr);             string[] strid = new string[t.Length];//             for (int i = 0; i < t.Length; i++)//把字符赋给数组             {                 strid[i] = t.Substring(i, 1);             }             string s = "";             Random rdid = new Random();             for (int i = 0; i < 9; i++)//从数组随机抽取字符组成新的字符生成机器三             {                 s += strid[rdid.Next(0, strid.Length)];             }
[u]复制代码[/u] 代码如下:
class DESKey     {         public const string DesKeyStr = "BLUE2013";         #region DES加密         /// <summary>         /// DES加密         /// </summary>         /// <param name="pToEncrypt">需要加密的字符串</param>         /// <returns>加密后的字符串</returns>         public static string DESEncrypt(string pToEncrypt, string DesKeyStr)         {             try             {                 DESCryptoServiceProvider des = new DESCryptoServiceProvider();                 byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);                 des.Key = ASCIIEncoding.ASCII.GetBytes(DesKeyStr);                 des.IV = ASCIIEncoding.ASCII.GetBytes(DesKeyStr);                 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();             }             catch             {                 return "";             }         }         #endregion         #region DES解密         /// <summary>         /// DES解密         /// </summary>         /// <param name="pToDecrypt">加密后的字符串</param>         /// <returns>解密后的字符串</returns>         public static string DESDecrypt(string pToDecrypt, string DesKeyStr)         {             try             {                 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(DesKeyStr);                 des.IV = ASCIIEncoding.ASCII.GetBytes(DesKeyStr);                 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());             }             catch             {                 return "";             }         }         #endregion       }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部