C#生成注册码的实例代码_C#教程-查字典教程网
C#生成注册码的实例代码
C#生成注册码的实例代码
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:stringt=DateTime.Now.Ticks.ToString();t=DESKey.DESEncrypt(t,D...

复制代码 代码如下:

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)];

}

复制代码 代码如下:

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

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C#教程学习
    热门C#教程学习
    编程开发子分类